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


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


Акселераторы являются одним из типов ресурсов, т. е. для того, чтобы использовать акселераторы, нам необходимо в файле ресурсов создать таблицу акселераторов. Она имеет следующий формат:

TableName    ACCELERATORS

{ Keyl, MenuIDl [,тип] [,параметр]

Keyn, MenuIDn [,тип] [.параметр]

TableName - это определяемое пользователем имя таблицы акселера­торов. Key определяет клавишу или комбинацию клавиш, при нажатии

90

которой происходит ввод команды. Тип определяет, является ли клавиша стандартной (это значение применяется по умолчанию) или виртуальной. Параметр может принимать одно из следующих значений: NOINVERT, ALT, CONTROL и SHIFT. Обычно при использовании акселераторных комбинаций меню отображается так, словно мы выбрали команду обычным способом. NOINVERT означает, что при использовании акселе­ратора внешне меню на ввод команды никак не отреагирует, даже если будет активно и отображено. Присутствие ALT указывает, что для по­лучения акселераторной комбинации одновременно с указанной клави­шей необходимо нажать клавишу Alt. CONTROL говорит о том, что одновременно с клавишей должна нажиматься клавиша Control, a SHIFT требует одновременного с клавишей нажатия Shift.

В качестве клавиши можно указать либо ее символ в кавычках, либо код ASCII-символа, либо код виртуальной клавиши, определенной в файлах заголовков. При использовании ASCII-кода в качестве типа должно быть указано ASCII, а в случае применения виртуальной клавиши тип должен быть VIRTKEY. Виртуальная клавиша - это системно-независимый код, определенный для основного набора служебных кла­виш. Этот набор включает клавиши F1-F12, стрелки и т. д. Коды вирту­альных клавиш определены в заголовочных файлах. Все их идентифика­торы начинаются с букв VK (Virtual Key). Разница между виртуальной клавишей и ASCII-символом с точки зрения пользователя состоит в том, что виртуальные клавиши не различают прописных и строчных букв, в отличие от ASCII-символов.

При определении акселераторов можно пойти на небольшую хит­рость. Представим себе, что в качестве акселератора мы указали заглав­ную букву и, скажем, ALT. В этом случае нам придется одновременно нажимать три клавиши - букву, клавишу SHIFT (необходимо сделать символ заглавным!) и клавишу Alt. Таким образом, при указании в качестве основной клавиши заглавной буквы, можно определять трехкла-вишные акселераторы. Кстати, если мы хотим, чтобы для вызова коман­ды использовалась клавиша Control, то можно символ в кавычках предва­рить знаком л.




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



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