Win32 API. Быстрые клавиши
Страница 3. Создание таблиц клавиш ускорителей


Создание таблиц клавиш ускорителей

Требуются несколько шагов, чтобы создать таблицу клавиш-ускорителей для прикладной программы. Сначала используется транслятор ресурса, чтобы создать ресурсы таблиц акселераторов и добавить их к исполняемому файлу приложения. Во время запуска программы, функция LoadAccelerators используется, чтобы загрузить таблицу клавиш-ускорителей в память и получить ее дескриптор. Этот дескриптор передается в функцию TranslateAccelerator, чтобы активизировать таблицу клавиш-ускорителей.

Таблица акселераторов также может быть создана для приложения и во время выполнения программы, при помощи передачи массива структур ACCEL в функцию CreateAcceleratorTable. Этот метод поддерживает определяемые пользователем акселераторы в прикладной программе. Подобно функции LoadAccelerators, CreateAcceleratorTable возвращает дескриптор таблицы клавиш-ускорителей, который может быть передан в TranslateAccelerator, чтобы привести в действие таблицу акселераторов.

Windows автоматически разрушает таблицы клавиш-ускорителей, загруженные LoadAccelerators. Таблица акселераторов, созданная CreateAcceleratorTable должна быть разрушена до того, как прикладная программа закроется; иначе, таблица продолжает существовать в памяти и после того, как приложение закрылась. Таблица клавиш-ускорителей разрушается, при помощи вызова функцию DestroyAcceleratorTable.

Существующая таблица клавиш-ускорителей может быть скопирована и модифицирована. Существующая таблица клавиш-ускорителей копируется, при помощи использования функции CopyAcceleratorTable. После того, как копия модифицирована, дескриптор новой таблицы акселераторов извлекается при помощи вызова CreateAcceleratorTable. В конечном итоге, дескриптор отправляется в TranslateAccelerator, чтобы активизировать новую таблицу.

 

 
Следующая статья »