DI_LISTBOX

Элемент диалога DI_LISTBOX описывает список.
struct FarDialogItem
{
  enum FARDIALOGITEMTYPES Type = DI_LISTBOX
  intptr_t X1                  = X1
  intptr_t Y1                  = Y1
  intptr_t X2                  = X2
  intptr_t Y2                  = Y2
  struct FarList *ListItems    = ListItems
  FARDIALOGITEMFLAGS Flags     = Flags
  const wchar_t *Data          = верхний заголовок списка
};

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

ListItems

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

Флаги

Для элемента DI_LISTBOX имеют значения следующие флаги (про флаги списка см. FarListItem):
ФлагОписание
DIF_DEFAULTBUTTON флаг, означающий, что данный элемент диалога является "элементом по умолчанию"
DIF_FOCUS определяет, что при показе диалога установить клавиатурный фокус ввода на данный элемент
DIF_LISTAUTOHIGHLIGHT горячие клавиши будут назначены автоматически
DIF_LISTNOAMPERSAND показывать горячие клавиши в списке
DIF_LISTWRAPMODE "заворачивает" список при навигации по списку
DIF_LISTNOCLOSE не закрывать диалог при выборе элемента в списке
DIF_LISTTRACKMOUSE реагировать на движение мыши в списке
DIF_LISTTRACKMOUSEINFOCUS реагировать на движение мыши в списке только если элемент находится в фокусе
DIF_DISABLE элемент является недоступным
DIF_NOFOCUS управляющий элемент не получает клавиатурный фокус ввода
DIF_LISTNOBOX отключает прорисовку рамки вокруг списка. В этом случае Data игнорируется

События

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

Замечания

Работа со списками DI_COMBOBOX и DI_LISTBOX организована по следующей схеме:

Текстовый курсор после инициализации элемента - в режиме замены.

Смотрите также:
DI_COMBOBOX, FarDialogItem