Флаги состояния элемента меню


Функция GetMenuState возвращает флаги состояния для заданного элемента меню:

UINT WINAPI GetMenuState(HMENU hmenu, UINT idItem,

UINT fuFlags);

Параметр hmenu определяет меню, для которого будет выполняться операция.

Параметр idItem определяет элемент меню, для которого будут получены флаги состояния. Интерпретация этого параметра зависит от значения параметра fuFlags.

Если в параметре fuFlags указан флаг MF_BYCOMMAND, параметр idItem определяет идентификатор строки меню, для которого выполняется операция. Если указан флаг MF_BYPOSITION, параметр idItem определяет порядковый номер этой строки.

Для временного меню старший байт возвращаемого функцией значения содержит количество элементов во временном меню, а младший - набор флагов, описывающих временное меню. Для меню верхнего уровня возвращаемое значение является набором флагов, описывающих указанный элемент меню:

Флаг Описание
MF_BITMAP Для изображения строки меню используется графическое изображение bitmap
MF_CHECKED Строка меню отмечена галочкой ""
MF_DISABLED Строка меню находится в неактивном состоянии
MF_ENABLED Строка меню разблокирована и отображается в нормальном виде. Этому состоянию соответствует возвращаемое функцией GetMenuState значение, равное нулю
MF_GRAYED Строка меню отображается серым цветом и находится в неактивном состоянии. Такую строку нельзя выбрать
MF_MENUBREAK Для меню верхнего уровня элемент меню выводится с новой строки. Для временного меню элемент выводится в новом столбце
MF_MENUBARBREAK Аналогично MF_MENUBREAK, но дополнительно столбец отделен вертикальной линией
MF_SEPARATOR Строка является горизонтальной разделительной линией во временных меню
MF_UNCHECKED Строка не отмечена галочкой ""

Если указанный элемент меню не существует, функция GetMenuState возвращает значение -1.

Создание меню при помощи шаблона

Для создания меню вы можете использовать три метода.

Во-первых, можно описать шаблон меню в файле ресурсов приложения (аналогично шаблону диалоговой панели, но с использованием других операторов). Этот способ больше всего подходит для создания статических меню, не меняющихся или меняющихся не очень сильно в процессе работы приложения.

Во-вторых, можно создать меню "с нуля" при помощи специальных функций программного интерфейса Windows. Этот способ хорош для приложений, меняющих внешний вид меню, когда вы не можете создать заранее подходящий шаблон. Разумеется, второй метод пригоден и для создания статических меню.

В-третьих, можно подготовить шаблон меню непосредственно в оперативной памяти и создать меню на базе этого шаблона.



Дата добавления: 2016-07-22; просмотров: 1958;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.