DI_TEXT
описывает статическую текстовую строку. В понятиях WinAPI это управляющий элемент STATIC.
struct FarDialogItem { enum FARDIALOGITEMTYPES Type = DI_TEXT intptr_t X1 = X1 intptr_t Y1 = Y intptr_t X2 = X2 intptr_t Y2 = Y (равен значению Y1) const wchar_t *Mask = Mask FARDIALOGITEMFLAGS Flags = Flags const wchar_t *Data = выводимый текст };
Внимание!
NULL
, или
указывать на строку, содержащую набор из трех символов, описывающих формируемую разделительную линию.DI_TEXT
имеют значения следующие флаги:
Флаг | Описание |
---|---|
DIF_BOXCOLOR | текст будет иметь цвет рамок (COL_DIALOGBOX или COL_WARNDIALOGBOX) |
DIF_CENTERGROUP | центрирование двух текстовых строк с одинаковой вертикальной позицией (параметр X1 игнорируется) |
DIF_SEPARATOR | горизонтальный разделитель диалога (одинарная линия); координата X1 не используется для случая, когда Data пустая строка;если Data не пустая строка, то она также будет отрисована (для вывода строки будет использована координата X1 ); |
DIF_SEPARATOR2 | горизонтальный разделитель диалога (двойная линия); координата X1 не используется для случая, когда Data пустая строка;если Data не пустая строка, то она также будет отрисована (для вывода строки будет использована координата X1 ); |
DIF_SEPARATORUSER | горизонтальный разделитель диалога (формат линии указан в Mask ); должны быть указаны обе координаты X1 и X2 |
DIF_SHOWAMPERSAND | показывать в текстовой строке амперсанд не используя его для определения горячей клавиши |
DIF_CENTERTEXT | выравнивать текст по центру относительно координат X1 и X2 |
DIF_RIGHTTEXT | выравнивать текст по правому краю относительно координат X1 и X2 |
DIF_WORDWRAP | усекает очередное слово в тексте элемента, если оно не вмещается по ширине, учитываются все координаты элемента X1,X2,Y1,Y2 |
Событие | Описание |
---|---|
DN_DRAWDLGITEM | начало отрисовки текстовой строки |
DN_CTLCOLORDLGITEM | запрос цветовых атрибутов для отрисовки; Param2 :
|
DN_CONTROLINPUT | "кликнули" клавишей мыши |
DN_HOTKEY | горячая клавиша (Alt+Символ) |
Y2
в Dialog API не используется, но для нормальной работы в будущих версиях Far Manager желательно корректно заполнить
значение этого поля. Укажите то же значение координаты, что и Y1
.
X1
и X2
должны быть обязательно указаны, в противном случае
действие флага не будет иметь действия.
Mask
Far Manager ожидает 3 символа
"Лево-Середина-Право". Недостающие (до 3-х) символы для такой разделительной лини будут содержать пробелы.
X2
должна быть обязательно указана, в противном случае
действие флага не будет иметь действия.
X2
и Y2
, исходя
из размера строки и размера диалога.
DI_TEXT
имеется "горячая клавиша" (HotKey) и не выставлен флаг DIF_SHOWAMPERSAND,
то при нажатии в диалоге Alt+Символ клавиатурный фокус ввода перейдёт на следующий элемент, который может иметь фокус ввода