11.7.5 - Пункты меню с галочкой и без галочки

Пункт меню может быть или отмечен "галочкой" или без "галочки". Windows показывает на экране точечный рисунок рядом с отмеченными пунктами меню, чтобы обозначить их отмеченное состояние с "галочкой". Windows не показывает на экране точечный рисунок рядом с пунктами без "галочки", если определяемый программой точечный рисунок "без "галочки"" не определен. В меню только пункты могут быть отмечены "галочкой"; в строке меню командные пункты не могут быть отмечены "галочкой".

13_1.gif (9245 b)

Прикладные программы обычно отмечают "галочкой" или снимают отметку "галочкой" в пункте меню, чтобы указать, который из нескольких параметров действует. Например, предположим, что прикладная программа имеет инструментальную панель, которую пользователь может показывать или скрывать при помощи использования команды Toolbar в меню. Когда инструментальная панель скрыта, у пункта меню Toolbar нет отметки "галочкой". Когда пользователь выбирает команду, прикладная программа отмечает "галочкой" пункт меню и показывает инструментальную панель.

Атрибут метки "галочкой " проверяет, отмечен ли пункт меню "галочкой". Вы можете установить атрибут отметки "галочкой " пункта меню при помощи использования функции CheckMenuItem. Вы можете использовать функцию GetMenuState, чтобы установить, отмечен или не отмечен в настоящее время пункт меню "галочкой".

Вместо CheckMenuItem и GetMenuState, Вы можете использовать функции GetMenuItemInfo и SetMenuItemInfo, чтобы извлекать данные и устанавливать наличие отметки "галочкой" в пункте меню.

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

По умолчанию, Windows показывает на экране отметку "галочкой" или точечный рисунок "радиоселектора" рядом с отмеченными пунктами меню и без точечного рисунка рядом со снятыми отметками "галочкой" пунктами меню. Тем не менее, Вы можете использовать функцию SetMenuItemBitmaps, чтобы ассоциировать определяемые программой точечные рисунки отметки и снятие отметки "галочкой" с пунктом меню. Windows затем использует заданные точечные рисунки, чтобы указать состояние пункта меню с "галочкой" или без отметки "галочкой".

Определяемые программой точечные рисунки, связанные с пунктом меню, должны быть того же самого размера, как и заданный по умолчанию точечный рисунок "галочки", габариты которого могут изменяться в зависимости от разрешающей способности экрана. Чтобы извлечь данные о правильных размерах, используйте функцию GetMenuCheckMarkDimensions. Вы можете создавать многокомпонентные растровые ресурсы для различных разрешений экрана; создайте один растровый ресурс, и, в случае необходимости, масштабируйте его; или создайте точечный рисунок во время выполнения программы и рисуйте изображение в нем. Точечные рисунки могут быть или одноцветные или цветные. Однако, поскольку пункты меню, когда выделяются, инвертируются, внешний вид некоторых инвертированных цветных точечных рисунков может быть не самый лучший. Для получения дополнительной информации, см. Точечные рисунки.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 02.09.2002