struct FarDialogItem
{
int Type = DI_LISTBOX
int X1 = X1
int Y1 = Y1
int X2 = X2
int Y2 = Y2
int Focus = Focus
union {
FarList *ListItems= ListItems [передается]
int ListPos = ListPos [возвращается]
};
DWORD Flags = Flags
int DefaultButton = DefaultButton
char Data[512]; = Верхний заголовок списка
};
Внимание!
Указатель на структуру FarList, описывающую пункты для начальной инициализации списка.
Текущая позиция в списке ListItems.Items. После закрытия диалога это поле содержит позицию выбранного пользователем элемента списка.
| Флаг | Описание |
|---|---|
| DIF_LISTAUTOHIGHLIGHT | Горячие клавиши будут назначены автоматически. |
| DIF_LISTNOAMPERSAND | Показывать горячие клавиши в списке. |
| DIF_LISTWRAPMODE | "Заворачивает" список при навигации по списку. |
| DIF_DISABLE | Элемент является недоступным. |
| DIF_NOFOCUS | Управляющий элемент не получает клавиатурный фокус ввода. |
| DIF_LISTNOBOX | Отключает прорисовку рамки вокруг списка. В этом случае Data игнорируется. |
| Событие | Описание |
|---|---|
| DN_DRAWDLGITEM | начало отрисовки элемента |
| DN_CTLCOLORDLGLIST | запрос цветовых атрибутов для отрисовки списка. |
| DN_LISTCHANGE | изменилась позиция в списке |
| DN_LISTHOTKEY | пользователь для смены пункта в списке воспользовался горячими клавишами. |