struct FarDialogItem
{
int Type = DI_FIXEDIT
int X1 = X1
int Y1 = Y
int X2 = X2
int Y2 = Y (равен значению Y1)
int Focus = Focus
union{
char *History = History
char *Mask; = Mask
};
DWORD Flags = Flags
int DefaultButton = DefaultButton
char Data[512] = редактируемый текст
};
Внимание!
| Флаг | Описание |
|---|---|
| DIF_HISTORY | Позволяет вести историю редактирования для поля ввода. |
| DIF_MANUALADDHISTORY | Строка для истории редактирования не будет автоматически добавляться в историю по завершению работы диалога. |
| DIF_USELASTHISTORY | Начальное значение берется из истории. |
| DIF_MASKEDIT | Поле ввода позволяет вводить значение по указанной маске. |
| DIF_DISABLE | Элемент является недоступным. |
| DIF_READONLY | Переводит строки редактирования в состояние "только для чтения" |
| DIF_SELECTONENTRY | Выделить редактируемый текст при получении фокуса ввода. |
| DIF_NOFOCUS | Управляющий элемент не получает клавиатурный фокус ввода. |
| Событие | Описание |
|---|---|
| DN_DRAWDLGITEM | начало отрисовки текстовой строки |
| DN_CTLCOLORDLGITEM | запрос цветовых атрибутов для отрисовки; Param2:
LoWord LoByte - редактируемый текст
(COL_WARNDIALOGEDIT или COL_DIALOGEDIT)
LoWord HiByte - выделенный текст
(COL_DIALOGEDITSELECTED)
HiWord LoByte - неизмененный текст (UnChanched)
(COL_DIALOGEDITUNCHANGED)
HiWord HiByte - цвет символа для History
(COL_DIALOGTEXT)
|
| DN_KEY | нажали клавишу. |
| DN_MOUSECLICK | "кликнули" клавишей мыши |
| DN_EDITCHANGE | текст изменен |
| DN_KILLFOCUS | элемент потерял фокус (при условии, что не используется флаг DIF_NOFOCUS). |
| DN_GOTFOCUS | элемент получил фокус (при условии, что не используется флаг DIF_NOFOCUS). |
Текстовый курсор после инициализации элемента - в режиме замены.