DI_RADIOBUTTON
Элемент диалога
DI_RADIOBUTTON описывает селекторную кнопку (Radio Button).
Также он называется кнопкой с зависимой фиксацией. Похож на CheckBox, за
исключением того, что, если у первого из несколько идущих подряд подобных элементов
установлен флаг
DIF_GROUP, то они
являются взаимоисключающими: если одна кнопка включена, другие обязательно
выключены.
struct FarDialogItem
{
int Type = DI_RADIOBUTTON
int X1 = X
int Y1 = Y
int X2 = 0 (в Dialog API 1.0 не используется)
int Y2 = Y (равен значению Y1)
int Focus = Focus
int Selected = Selected
DWORD Flags = Flags
int DefaultButton = DefaultButton
char Data[512] = надпись кнопки
};
Внимание!
- Приведено схематичное изображение структуры; полное описание структуры см. здесь.
Focus
Определяет имеет ли элемент клавиатурный фокус ввода.
Selected
Определяет состояние элемента - отмечен или нет.
Флаги
Для элемента
DI_RADIOBUTTON имеют значения следующие флаги:
| Флаг | Описание |
| DIF_SETCOLOR |
определить цвет элемента (младший байт параметра Flags должен
содержать атрибут текста кнопки)
|
| DIF_GROUP |
группировка последовательно объявленных селекторных кнопок
(укажите этот флаг для первого элемента в группе).
|
| DIF_MOVESELECT |
изменить выбор внутри группы при изменении фокуса ввода;
также элемент будет отображаться без ограничительных круглых скобок (пример -
диалог выбора цвета в FAR Manager - Options|Colors).
|
| DIF_CENTERGROUP |
центрирование идущих подряд переключателей с одинаковой вертикальной позицией (параметр X игнорируется)
|
| DIF_DISABLE |
Элемент является недоступным.
|
| DIF_NOFOCUS |
Управляющий элемент не получает клавиатурный фокус ввода.
|
| DIF_SHOWAMPERSAND |
показывать в заголовке рамки амперсанд не используя его для определения горячей клавиши
|
События
Замечания
Хотя координаты X2 и Y2 в Dialog API 1.0 не используется,
но для нормальной работы в будущих версиях FAR желательно корректно заполнить
значения этих полей.
Смотрите также: