Лабораторная работа
Тема: ФОРМИРОВАНИЕ И ИСПОЛЬЗОВАНИЕ МЕНЮ
Цель: с помощью Pascal’a в среде Windows научиться создавать и модифицировать меню
Краткая теория:
Интерфесный элемент, называемый меню, предусмотрен стандартом CUA/SAA IBM и широко используется при создании интерфейса различных программ. Windows предоставляет широкие возможности по формированию и использованию различных типов меню. (В дальнейшем, если не будет указано явно, под меню будет пониматься иерархическое меню, разворачивающееся вниз.) Достаточно сказать, что меню является необязательным атрибутом основопологающего элемента интерфейса, окна, и может указываться как в классе окна, так и непосредственно при его создании. Для программы, поддерживающей многодокументный интерфейс, наличие определенного меню является обязательным. Окна и панели диалога могут иметь системное меню.
Виды меню
Ядро Windows поддерживает два вида меню:
• строчное;
• всплывающее.
Оба типа меню изображены схематически на рисунках 1 и 2
Рис. 1. Строчное меню
Меню, разворачивающееся вниз, представляет собой комбинацию строчного меню и нескольких всплывающих меню. В дальнейшем всплывающие меню, появляющиеся при выборе какого-либо элемента из меню, будем называть подменю. Естественно, что каждое подменю может иметь подменю для своих элементов
Рис. 2. Всплывающее меню
Создание меню
Ядро Windows предоставляет следующие возможности для создания меню:
• описание меню в ресурсе с последующей загрузкой меню из ресурса;
• динамическое формирование меню во время выполнения про граммы;
• смешанное формирование меню на основе описания меню из ресурса и динамического формирования;
• видоизменение системного меню;
• динамическое формирование всплывающего меню.
Создание ресурса
В лабораторной работе при создании меню мы воспользуемся первым вариантом, а именно, подключением меню к программе через ресурс.
Ресурсы – это специальный тип данных, хранимых в выполняемых файлах, но используемых отдельно от сегментов данных. В качестве ресурсов в программе могут храниться иконки, курсоры, растровые изображения, меню, панели диалога и строки.
Обычно, ресурсы загружаются в память только при необходимости, а все остальное время находятся на диске. За счет этого в Windows удается использовать меньший объем памяти для прикладной программы. Так как в Windows имеется возможность запуска нескольких экземпляров одной программы, все эти экземпляры используют только одну копию ресурсов, находящуюся в памяти. При необходимости освобождения памяти, те ресурсы, которые не используются в данный момент, удаляются из нее. Отметим еще одно достоинство ресурсов – возможность локализации программ без изменения их исходного текста.
Для подключения ресурсов к прикладной программе, необходимо использовать директиву компилятора $R. Отметим, что независимо от типа ресурса, конечным результатом работы редактора ресурсов является файл, содержащий двоичный код ресурса и имеющий расширение .res. таким образом, подключение ресурса к прикладной программе осуществляется следующим образом:
Program MyWin;
{$R resource.res}
…
В качестве параметра директивы компилятора указывается имя файла, в котором хранится подключаемый ресурс.
Ресурс типа меню может быть создан двумя способами: при помощи текстового редактора и компилятора ресурсов RC.EXE или при помощи редактора ресурсов.
Шаблон меню
Ресурс типа меню (так называемый шаблон меню) состоит из нескольких частей:
• Наименование меню;
• Элементы меню;
• Идентификатор каждого элемента меню;
• Текст, относящийся к каждому элементу;
• Атрибуты элементов меню.
На приводимом ниже рисунке показан фрагмент меню программы PROGMAN.EXE:
PM_Menu MENU BEGIN
POPUP "&File" BEGIN
MENUITEM "&New...",101
MENUITEM "&OpenEnter", 102
MENUITEM "&Move...F7", 103
MENUITEM "&Copy...F8", 104
MENUITEM "&DeleteDel", 105
MENUITEM "&Properties...Alt+Enter", 106
MENUITEM SEPARATOR
MENUITEM "&Run...", 107
MENUITEM SEPARATOR
MENUITEM "E&xit Windows...", 108
END
END
Рисунок-шаблон для создания меню.
Наименование меню:
PM_Menu MENU
Элементы меню:
POPUP - Наименование команды строчного меню
POPUP "&File"
Идентификатор каждого элемента меню:
Указывается наименование элемента меню и уникальный идентификатор:
MENUITEM"&New...", 101.
При указании символа & в названии элемента меню символ, которому предшествует &, выделяется другим цветом.
В наименовании элемента можно указать комбинацию клавиш, нажатие которых приведет к выбору команды меню.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.