Шаг 29.
Среда программирования Visual C++.
Редактирование меню
На этом шаге мы рассмотрим редактирование меню.
Приложение, созданное с помощью MFC AppWizard, обычно включает основное меню с учетом параметров,
выбранных в процессе работы мастера. На рисунке 1 показано типичное меню, созданное для SDI-приложения.
Рис.1. Меню для SDI-приложения
Созданное меню имеет идентификатор IDR_MAINFRAME. Нетрудно заметить, что значок приложения
имеет такой же идентификатор. При создании объекта шаблона документа с ним связывается идентификатор ресурса,
общий для целой группы ресурсов, применяемых для данного типа документа. К таким ресурсам относятся меню,
панель инструментов, таблица "быстрых" клавиш и строковые ресурсы.
В редакторе меню Visual C++ можно сконструировать собственное меню, изменив стандартные свойства
входящих в него команд.
Следующие упражнения направлены на отработку навыков работы с меню.
- Удаление меню Edit.
- В окне проекта МуАрр щелкните вкладку ResourceView и раскройте узел МуАрр Resources.
- Раскройте подузел Menu.
- Двойным щелчком меню IDR_MAINFRAME откройте редактор меню.
- В строке меню щелкните Edit, а затем нажмите клавишу DELETE. Для подтверждения удаления щелкните ОК.
Рис.2. Удаление пункта меню Edit
- Вставка меню Data.
- Щелкните пустое место в строке меню справа от пункта Help.
- Перетащите мышью пустую команду и вставьте ее между пунктами File и View.
- Двойным щелчком пустой команды откройте окно свойств. В поле Caption наберите &Data.
Амперсант (&) отмечает букву (в данном случае D), которая назначается клавишей быстрого доступа.
Теперь при одновременном нажатии клавиш ALT+D будет выбираться пункт меню Data.
Замечание. Для вставки в название самого амперсанта нужной набрать подряд два
амперсанта.
Рис.3. Создание пункта меню Data
- Вставка команды Connect в меню Data.
- Выберите щелчком мыши пункт Data.
- Щелкните пустую команду под заголовком меню Data.
- Наберите строку &Connect... \tCTRL+C. Здесь \t - символ табуляции;
CTRL+C означает клавишу доступа к данной команде меню.
- При вводе текста появляется диалоговое окно Menu Item Properties.
В поле Prompt введите Connect to database. Этот текст появится в строке состояния при выборе данной команды.
- Щелкните значок чертежной кнопки, расположенный в верхнем левом углу диалогового окна Menu Item Properties,
чтобы оставить окно свойств открытым при перемещениях по разным командам меню.
- Щелкните любую другую команду, а затем опять - Connect. Окно свойств для команды
Connect будет выглядеть так, как показано на рисунке 4.
Рис.4. Окно Menu Item Properties
- Обратите внимание, что редактор сформировал идентификатор ID_DATA_CONNECT, состоящий из
имени меню и имени команды. При желании можно изменить этот идентификатор.
Каждая выбираемая команда меню (за исключением заголовка и разделителя) связана с определенным идентификатором,
который может быть передан функции-обработчику. Помните, что при выборе команды меню генерируется сообщение
WM_COMMAND, которое обрабатывается одним из объектов приложения. Это сообщение содержит в
качестве параметра идентификатор команды.
- Вставка команды Upload в меню Data.
Повторите описанные выше действия, набрав в поле названия команды &Upload...\ tCTRL+U, а в поле строки
приглашения - Upload data the database. He изменяйте созданный редактором меню идентификатор ID_DATA_UPLOAD.
Текст измененного приложения можно взять
здесь (42,6 Кб).
На следующем шаге мы рассмотрим добавление "быстрых" клавиш.
Предыдущий шаг
Содержание
Следующий шаг