Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 63


Любой, кто хоть немного работал в Windows, знает, что меню распо­лагаются сразу под заголовком окна и позволяют пользователю осущест­вить выбор возможностей, предоставляемых программой. Помимо этого, существуют также всплывающие меню, которые могут появляться в любой точке экрана. Обычно их содержание зависит от того, на каком окне щелкнули клавишей мыши. Их изучение начнем с характеристик меню.

Давайте представим себе главное меню программы как древовидную структуру. Основная часть - корень нашего дерева - это непосредственно главное меню. Само по себе оно представляет только структуру в памяти, не отображается на экране, не содержит ни одного элемента, но хранит указатель на список структур, описывающих подключаемые к нему элементы и всплывающие (popup) меню. Если читатель вспомнит свой опыт работы с Windows, он согласитсяс тем, что в окне в качестве основ­ного меню отображается именно набор рорир-меню. В свою очередь, рорир-меню должно указать на список структур очередного, более низко­го уровня и т. д. Конечные элементы меню никаких указателей на списки не имеют, но хранят некий идентификатор действия (назовем его иден­тификатором элемента меню), которое должна произвести программа при выборе данного элемента меню. Используя эти структуры, мы можем построить меню практически любой глубины и сложности.

Эта многоуровневая древовидная структура описывается в файле ре­сурсов. Описание меню имеет вид:

MenuName        MENU        [параметры]   //       это - главное меню

Описание всех рорир-меню и элементов меню второго уровня

В данном случае MenuName - это имя создаваемого нами меню. Слово MENU обозначает начало определения меню. Параметры мы пока, до изучения работы с памятью, расматривать не будем.

74

В Win32 API для описания меню существуют два ключевых слова. Первое - POPUP - специфицирует всплывающее меню. Второе -MENUITEM - описывает обычный элемент меню.

Всплывающие меню описывается следующим образом:

POPUP        «Имя»        [,параметры]   // <- описание рорир-меню




Начало  Назад  Вперед



Книжный магазин