FarMenuItem
Структура
FarMenuItem
описывает один пункт меню. Массив этих структур передаётся в функцию Menu.
struct FarMenuItem { MENUITEMFLAGS Flags; const wchar_t *Text; struct FarKey AccelKey; intptr_t UserData; intptr_t Reserved[2]; };
Элементы
Flags
Комбинация следующих значений (тип MENUITEMFLAGS):
Флаг | Описание |
---|---|
MIF_SELECTED | Признак активности пункта меню. Только один пункт может быть активным. |
MIF_CHECKED | Признак отмеченного пункта меню. Перед текстом будет отображаться метка выбора. |
MIF_SEPARATOR | Пункт меню отображается как разделитель. Разделитель может содержать текст, выровненный по середине. |
MIF_DISABLE | Пункт меню недоступен. |
MIF_GRAYED | Если флаг установлен, то пункт меню доступен в навигации, но не доступен для выбора. |
MIF_HIDDEN | Если флаг установлен, то пункт меню не выводится на экран. |
MIF_NONE | Нулевой флаг. |
Text
Указатель на текст пункта меню.
AccelKey
Код клавиши, структура типа FarKey, для активизации пункта меню (HotKey). Пример работы - в меню Far Manager "Commands" нажатие клавиши Ctrl+O аналогично выбору пункта "Panels On/Off".
UserData
Пользовательские данные, ассоциированные с пунктом меню. Far Manager не использует это поле.
Reserved
Зарезервированные поля, должны быть равны
0
.Замечания
- В младшем слове
Flags
можно указывать код символа, который будет использоваться для отображения метки выбора. В этом случае система самостоятельно выставит флагMIF_CHECKED
для данного пункта меню. - Если младшее слово
Flags
равно0
и выставлен флагMIF_CHECKED
, или если младшее словоFlags
равно1
, то будет отображаться стандартная метка выбора - символ с кодом 0FBh (√
) - При использовании флага
MIF_SEPARATOR
без текста, компонентаText
должна быть проинициализирована в0
, например так:struct FarMenuItem Item; Item.Flags=MIF_SEPARATOR; Item.Text=NULL;
Смотрите также: