русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Меню

Меню — это, вероятно, наиболее важная часть пользовательского интерфей­са, который предлагают программы для Windows, а добавление меню к вашей программе — это относительно простая задача программирования для Windows. Вы просто определяете структуру меню в вашем описании ресур­сов и присваиваете каждому пункту меню уникальный идентификатор. Вы определяете имя меню в структуре класса окна. Когда пользователь выбира­ет пункт меню. Windows посылает вашей программе сообщение WM_COMMAND, содержащее этот идентификатор.

Строка меню выводится на экране непосредственно под строкой заголовка. Эта строка иногда называется главным меню (main menu) или меню верх­него уровня (top-level menu) программы. Выбор элемента главного меню обычно приводит к вызову другого меню, появляющегося под главным, и которое обычно называют всплывающим меню (popup menu) или подменю (submenu). Вы также можете определить несколько уровней вложенности всплывающих меню: т. е. определенный пункт всплывающего меню может вызвать появление другого всплывающего меню. Иногда, с целью увеличе­ния информативности, вызов каких-то пунктов меню приводит к появле­нию окон диалога. (Об окнах диалога рассказывается в следующей главе.) В большинстве родительских окон, в левой части строки заголовка, имеется маленький значок программы. Щелчок на этом значке приводит к появле­нию системного меню, которое фактически является всплывающим меню другого типа.

Пункты всплывающих меню могут быть помечены (checked), при этом слева от текста элемента меню Windows ставится специальная метка или "галочка". Галочки позволяют пользователю узнать о том, какие опции программы выбраны из этого меню. Эти опции могут быть взаимоисключающими. Пункты главного меню помечены быть не могут.

Пункты меню в главном и всплывающих меню могут быть "разрешены" (enabled), "запрещены" (disabled) или "недоступны" (grayed). Слова "активно" (active) и "неактивно" (inactive) иногда используются, как синонимы слов "разрешено" и "запрещено". Пункты меню, помеченные как разрешенные или запрещенные, для пользователя выглядят одинаково, а недоступный пункт меню выводится на экран в сером цвете.

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

Структура меню

Если вы создаете или изменяете меню программы, полезно разделять глав­ное меню и все всплывающие меню. У главного меню имеется описатель меню, у каждого всплывающего меню внутри главного меню имеется собст­венный описатель меню, и у системного меню (тоже являющегося всплы­вающим меню) тоже имеется описатель меню.

Каждый пункт меню определяется тремя характеристиками. Первая характе­ристика определяет то, что будет отображено в меню. Это либо строка текста, либо битовый образ. Вторая характеристика определяет либо идентификатор, который Windows посылает вашей программе в сообщении WM_COMMAND, либо всплывающее меню, которое Windows выводит на экран, когда пользова­тель выбирает данный пункт меню. Третья характеристика описывает атрибут пункта меню, включая то, является ли данный пункт запрещенным, недоступ­ным или помеченным.

Шаблон меню

Меню можно создать тремя разными способами. Наиболее обычным (и самым простым) является определение меню в файле описания ресурсов, для чего можно использовать редактор ресурсов, прилагаемый к современным пакетам программирования, либо непосредственно в текстовом виде в форме шаблона меню, например:

MyMenu MENU

{ [список элементов меню]

}

MyMenu это имя меню. Вы ссылаетесь на это имя в структуре класса окна. Обычно имя меню такое же, как имя приложения. Внутри квадратных скобок можно использовать либо инструкцию MENUITEM, либо POPUP. Инструкция MENUITEM имеет следующий формат:

MENUITEM "SText", id [, признаки]

Формат инструкции POPUP:

POPUP "SText" [, признаки]

{

[список элементов меню]

}

Вместо фигурных скобок можно использовать ключевые слова BEGIN и END. Текст, выводимый для каждого пункта меню должен быть заключен в парные кавычки. Амперсант (&) вызывает подчеркивание следующего за ним символа при выводе на экран. Windows ищет этот же символ, когда пользова­тель выбирает элемент меню с использованием клавиши <Alt>. Если не включить амперсант в текст, то в тексте меню не будет подчеркнутых симво­лов, и Windows будет использовать первую букву текста при поиске.

Признаками в операторах MENUITEM и POPUP, которые появляются в списке главного меню, являются следующие:

• GRAYED — Данный пункт меню недоступен и не генерирует сообщений WM_COMMAND. Текст изображается недоступным (серым цветом).

• INACTIVE — Данный пункт меню неактивен и не генерирует сообщений WM_COMMAND. Текст изображается обычным образом.

• MENUBREAK — Данный пункт меню, а также все последующие появ­ляются на экране в новой строке меню.

• HELP — Данный пункт меню, а также все последующие появляются на экране, выровненными по правому краю.

Признаки могут комбинироваться с помощью символа поразрядной опера­ции OR языка С (|), но опции GRAYED и INACTIVE нельзя использовать вместе. Опция MENUBREAK не используется в главном меню, поскольку Windows автоматически создает новую строку главного меню, если окно слишком узкое для размещения всех пунктов меню в одну строку.

Следующие за инструкцией POPUP в главном меню квадратные скобки (или ключевые слова BEGIN и END) ограничивают список пунктов всплы­вающего меню. При определении всплывающего меню допускаются сле­дующие инструкции:

MENUITEM "text", id [, признаки] а также:

Просмотров: 532


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.