|
Новости |
Глава 6. Создание акселераторовАкселератор - это оперативная клавиша или комбинация клавиш, которые пользователь нажимает для выполнения вашей прикладной программой какого-либо действия. Он заменяет команду меню и, ана- логично команде меню, создает сообщение WM_COMMAND или WM_SYSCOMMAND, которое указывает прикладной программе, что делать дальше. Обычно акселераторы создаются для дублирования команд всплы- вающих меню. Например, если вы откроете в большинстве прикладных программ Windows меню Edit (Редактирование), то увидите следующие акселераторы: Shift+Del (команда Cut), Shift+Ins (команда Paste) и Ctrl+Ins (команда Copy). Примечание: Подробнее об использовании акселераторов с командами меню рассказывается в Главе 5. +-----------------------------------+ ¦___________________________________¦ +-----------------------------------¦ ¦ Cut Shift+Del ¦ ¦ Copy Ctrl+Ins ¦ ¦ Paste Shift+Ins ¦ +-----------------------------------¦ ¦ Clear ¦ ¦ Delete ¦ +-----------------------------------+ Рис. 6.1 Окно Edit с акселераторами Определения акселераторов записываются в таблице акселерато- ров (ресурс акселератора). Каждая запись в таблице представляет собой акселератор, определяющий сочетание клавиш, которые должен нажать пользователь для генерации команды. При желании вы можете создать несколько таблиц акселераторов (или ресурсов) для различ- ных частей меню.Пакет разработчика ресурсов предоставляет вам редактор аксе- лераторов, который облегчает создание и редактирование акселера- торов для прикладной программы. При работе с акселераторами вы- полняются следующие основные задачи: - запуск редактора меню; - запуск редактора акселераторов; - настройка таблицы акселераторов и проверка на дублирование клавиш; - сохранение таблицы акселераторов. Первая задача, запуск редактора меню, выводит связанное с меню акселераторы, с которыми вы можете работать. Вторая задача, запуск редактора акселераторов, позволяет вывести таблицу акселе- раторов, которую вы можете настроить. Третья задача, сохранение акселераторов, выполняется автоматически при сохранении проекта. Перед тем, как обсудить эти задачи, мы покажем вам, как ор- ганизованы средства редактора акселераторов и его экран. Следую- щие разделы охватывают четыре основных задачи, выполняемые для создания акселератора. После этого описывается проверка дублируе- мых сочетаний клавиш, описание редактирования записи ресурса ак- селератора и приводится пример создания таблицы акселераторов. Если вы откроете демонстрационный проект RWPDEMO.RC и дважды щелкните кнопкой "мыши" на ресурсе акселератора. Пакет разработ- чика ресурсов выводит следующую таблицу: +---------------------------------------------------------------+ ¦ - ¦ ACCELERATORS: acc_Main ¦ ^ ¦ v ¦ +---------------------------------------------------------------¦ ¦+-------------------------------+ ¦ acc_Main ¦^¦ ¦¦ Command ¦ +--------------------------+-¦ ¦¦+-------------++--------------+¦ ¦_VK_BACK 24325____________¦_¦ ¦¦¦ ¦¦ 24325 ¦¦ ¦ VK_DELETE 24320 ¦_¦ ¦¦+-------------++--------------+¦ ¦ VK_INSERT 24321 ¦_¦ ¦+-------------------------------+ ¦ VK_INSERT 24322 ¦_¦ ¦+-------------------------------+ ¦ VK_F1 141 ¦_¦ ¦¦ Key ¦ ¦ VK_F2 142 ¦_¦ ¦¦+-------------+ ¦ ¦ ¦_¦ ¦¦¦ VK_BACK ¦ ¦ ¦ ¦_¦ ¦¦+-------------+ ¦ ¦ ¦_¦ ¦+-------------------------------+ ¦ ¦_¦ ¦+-------------------------------+ ¦ ¦_¦ ¦¦ Key type ¦ ¦ ¦_¦ ¦¦ ¦ ¦ ¦_¦ ¦¦ > Ascii <* Virtual key ¦ ¦ ¦_¦ ¦¦ ¦ ¦ ¦_¦ ¦+-------------------------------+ ¦ ¦_¦ ¦+-------------------------------+ ¦ ¦_¦ ¦¦ Modifiers ¦ ¦ ¦_¦ ¦¦ ¦ ¦ ¦_¦ ¦¦ V¦ Ascii ¦ Shift ¦ Control ¦ ¦ ¦_¦ ¦¦ -+ -+ -+ ¦ ¦ ¦_¦ ¦¦ V¦ Invert menu item ¦ ¦ ¦_¦ ¦¦ -+ ¦ ¦ ¦_¦ ¦+-------------------------------+ ¦ ¦_¦ ¦ ¦ +-¦ ¦ ¦ ¦v¦ +---------------------------------------------------------------+Риc. 6.2 Таблица акселераторов RWPDEMO в редакторе акселера- торов Command - команда; Key - клавиша; Key type - тип клавиши; Ascii - клавиша с кодом Ascii; Virtual key - виртуальная клавиша; Modifiers - модификаторы; Invert menu item - инвертирование эле- мента меню. |
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |