FarDialogItem

Programming Far Manager plugins

FarDialogItem

Структура FarDialogItem описывает один элемент диалога. Массив этих структур передаётся в функции DialogInit.
struct FarDialogItem
{
  enum FARDIALOGITEMTYPES Type;
  intptr_t X1,Y1,X2,Y2;
  union
  {
    intptr_t Selected;
    struct FarList *ListItems;
    struct FAR_CHAR_INFO *VBuf;
    intptr_t Reserved0;
  }
#ifndef __cplusplus
  Param
#endif
  ;
  const wchar_t *History;
  const wchar_t *Mask;
  FARDIALOGITEMFLAGS Flags;
  const wchar_t *Data;
  size_t MaxLength;
  intptr_t UserData;
  intptr_t Reserved[2];
};

Элементы

Type
Тип элемента диалога. Может принимать одно значений (перечисление FARDIALOGITEMTYPES) указанных в "Элементы диалога"
X1,Y1,X2,Y2
Координаты, определяющие позицию элемента, относительно диалогового окна (начало отсчёта - левый верхний угол диалогового окна, (0,0)). Более подробно о координатах см. описание каждого элемента диалога.
Selected
Определяет состояние элементов DI_CHECKBOX и DI_RADIOBUTTON диалога - включён/выключен.
ListItems
Указатель на структуру FarList, описывающую список для элементов DI_COMBOBOX и DI_LISTBOX.
VBuf
Массив структур FAR_CHAR_INFO, описывающую виртуальный буфер для элемента DI_USERCONTROL.
Reserved0
Размер этого параметра всегда равен размеру объединения Param, что позволяет использовать этот параметр для платформенно-независимой инициализации.
History
Адрес текстовой строки, которая будет использоваться как внутреннее название истории редактирования (см. также флаг DIF_HISTORY).
Mask
Адрес текстовой строки, с маской ввода для элемента DI_FIXEDIT или маска, описывающая разделительную линию для элемента DI_TEXT или DI_VTEXT.
Flags
Комбинация значений (тип FARDIALOGITEMFLAGS), перечисленных в разделе "Флаги элементов диалога".
Data
Строка, используемая для инициализации элемента диалога. Подробности использования в описаниях типов элементов диалога.
MaxLength
Устанавливает максимальный размер строки Data, без завершающего '\0'. Плагин не сможет работать с данными в строке Data за пределами MaxLength.
Если MaxLength = 0, то такого ограничения нет.
UserData
Значение, связанное с элементом диалога. Данные можно получить с помощью DM_GETITEMDATA.
Reserved
Два поля зарезервированы для будущего использования, должны быть установлены в 0.

Замечания

Смотрите также: