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
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
.Замечания
Смотрите также: