DI_CHECKBOX
Элемент диалога
DI_CHECKBOX
описывает контрольный переключатель (Check Box). также он называется кнопкой с независимой фиксацией
(переключатель вкл./выкл., который может переключаться пользователем). Переключатель "включён", если у элемента поле Selected
отлично от нуля.
struct FarDialogItem { enum FARDIALOGITEMTYPES Type = DI_CHECKBOX intptr_t X1 = X intptr_t Y1 = Y intptr_t X2 = 0 intptr_t Y2 = Y (равен значению Y1) intptr_t Selected = Selected FARDIALOGITEMFLAGS Flags = Flags const wchar_t *Data = надпись переключателя };
Внимание!
- Приведено схематичное изображение структуры; полное описание структуры см. здесь.
Selected
Определяет состояние элемента - отмечен или нет.
Флаги
Для элемента
DI_CHECKBOX
имеют значения следующие флаги:
Флаг | Описание |
---|---|
DIF_DEFAULTBUTTON | флаг, означающий, что данный элемент диалога является "элементом по умолчанию" |
DIF_FOCUS | определяет, что при показе диалога установить клавиатурный фокус ввода на данный элемент |
DIF_CENTERGROUP | центрирование идущих подряд переключателей с одинаковой вертикальной позицией (параметр X игнорируется)
|
DIF_DISABLE | элемент является недоступным |
DIF_NOFOCUS | управляющий элемент не получает клавиатурный фокус ввода |
DIF_3STATE | контрольный переключатель будет иметь 3 состояния: "выключен", "включён", "неопределено" |
DIF_SHOWAMPERSAND | показывать в заголовке рамки амперсанд не используя его для определения горячей клавиши |
События
Событие | Описание |
---|---|
DN_DRAWDLGITEM | начало отрисовки текстовой строки |
DN_CTLCOLORDLGITEM | запрос цветовых атрибутов для отрисовки; Param2 :
|
DN_CONTROLINPUT | нажали клавиатурную клавишу или кликнули клавишей мыши |
DN_HOTKEY | горячая клавиша (Alt+Символ) |
DN_BTNCLICK | изменение состояния переключателя |
DN_KILLFOCUS | элемент потерял фокус (при условии, что не используется флаг DIF_NOFOCUS) |
DN_GOTFOCUS | элемент получил фокус (при условии, что не используется флаг DIF_NOFOCUS) |
Замечания
Хотя координаты
X2
и Y2
в Dialog API не используется, но для нормальной работы в будущих версиях Far Manager желательно корректно заполнить значения этих полей.
Смотрите также: