DI_LISTBOX

Элемент диалога DI_LISTBOX описывает список.
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];   = Верхний заголовок списка
};

Внимание! Внимание!

ListItems

Указатель на структуру FarList, описывающую пункты для начальной инициализации списка.

ListPos

Текущая позиция в списке ListItems.Items. После закрытия диалога это поле содержит позицию выбранного пользователем элемента списка.

Флаги

Для элемента DI_LISTBOX имеют значения следующие флаги (про флаги списка см. FarListItem):
ФлагОписание
DIF_LISTAUTOHIGHLIGHT Горячие клавиши будут назначены автоматически.
DIF_LISTNOAMPERSAND Показывать горячие клавиши в списке.
DIF_LISTWRAPMODE "Заворачивает" список при навигации по списку.
DIF_DISABLE Элемент является недоступным.
DIF_NOFOCUS Управляющий элемент не получает клавиатурный фокус ввода.
DIF_LISTNOBOX Отключает прорисовку рамки вокруг списка. В этом случае Data игнорируется.

События

СобытиеОписание
DN_DRAWDLGITEM начало отрисовки элемента
DN_CTLCOLORDLGLIST запрос цветовых атрибутов для отрисовки списка.
DN_LISTCHANGE изменилась позиция в списке
DN_LISTHOTKEY пользователь для смены пункта в списке воспользовался горячими клавишами.
Смотрите также:
DI_COMBOBOX, FarDialogItem