struct FarDialogItem
{
int Type = DI_VTEXT
int X1 = X
int Y1 = Y1
int X2 = X (в Dialog API 1.0 не используется, должно быть равно значению X1)
int Y2 = Y2
int Focus = 0
int Selected = 0
DWORD Flags = Flags
int DefaultButton = 0
char Data[512] = выводимый текст
};
Внимание!
| Флаг | Описание |
|---|---|
| DIF_SETCOLOR | определить цвет элемента (младший байт параметра Flags должен содержать атрибут выводимого текста) |
| DIF_BOXCOLOR | текст будет иметь цвет рамок (COL_DIALOGBOX или COL_WARNDIALOGBOX) |
| DIF_CENTERGROUP | центрирование двух текстовых строк с одинаковой горизонтальной позицией (параметр Y1 игнорируется) |
| DIF_SEPARATOR |
вертикальный разделитель диалога (одинарная линия); координата Y1 не используется для
случая, когда Data пустая строка; если Data не пустая строка, то она также будет отрисована (для вывода строки будет использована координата Y1); |
| DIF_SEPARATOR2 |
вертикальный разделитель диалога (двойная линия); координата Y1 не
используется для случая, когда Data пустая строка; если Data не пустая строка, то она также будет отрисована (для вывода строки будет использована координата Y1); |
| DIF_SHOWAMPERSAND | показывать в текстовой строке амперсанд не используя его для определения горячей клавиши |
| DIF_CENTERTEXT | выравнивать текст по центру (учитываются координаты Y1 и Y2). |
| Событие | Описание |
|---|---|
| DN_DRAWDLGITEM | начало отрисовки текстовой строки |
| DN_CTLCOLORDLGITEM | запрос цветовых атрибутов для отрисовки; Param2:
LoWord LoByte - текст
(COL_WARNDIALOGTEXT или
COL_DIALOGTEXT
при выставленном флаге DIF_BOXCOLOR:
COL_WARNDIALOGBOX или
COL_DIALOGBOX)
LoWord HiByte - выделенный текст
(highlighting text)
(COL_WARNDIALOGHIGHLIGHTTEXT или
COL_DIALOGHIGHLIGHTTEXT)
HiWord LoByte - 0 (не используется)
HiWord HiByte - 0 (не используется)
Если используется заказной атрибут (флаг DIF_SETCOLOR),
то текст (LoWord LoByte) будет тем, что указали.
|
| DN_MOUSECLICK | "кликнули" клавишей мыши |