Прискорювач таблиць

У таблиці прискорювача складається з масиву ACCEL структур, кожен визначення окремих корисну можливість. Кожна структура ACCEL містить наступну інформацію:

Для обробки натискання клавіш виклику для даної теми, розробник повинні викликати функцію TranslateAccelerator в циклі повідомлення, пов'язані з черга повідомлень в темі. Функція TranslateAccelerator відстежує введення клавіатури для черга повідомлень, перевірка сполучень клавіш, які відповідають запис у таблиці прискорювача. Коли TranslateAccelerator знаходить відповідність, перекладається введення клавіатури (тобто, WM_KEYUP та WM_KEYDOWN повідомлення) в WM_COMMAND або WM_SYSCOMMAND повідомлення і повідомлення надсилається до процедури вікно вказаного вікна. На рисунку нижче показано, як обробляються прискорювачі.

WM_COMMAND повідомлення містить ідентифікатор корисну можливість, що викликало TranslateAccelerator для створення повідомлення. Процедура вікно аналізує ідентифікатор, щоб визначити джерело повідомлення та обробляє повідомлення відповідно.

Прискорювач таблиці мають міститися на двох різних рівнях. Система зберігає одну, системної прискорювач таблицю, яка застосовується в усіх програми. Застосунок не можна змінювати таблиці прискорювача системи. Опис корисних можливостей, що надаються таблиці прискорювача системи побачити Прискорювач призначення клавіш.

Система також підтримує прискорювач таблиць для кожного додатка. Програма може визначити будь-яку кількість прискорювач таблиць для використання з власної windows. Унікальний ручку 32-розрядні (HACCEL) визначає кожної таблиці. Однак, тільки один прискорювач таблиці активним може бути час для даної теми. Дескриптор таблиці прискорювача, TranslateAccelerator функції визначає прискорювач таблицю, яка є активним для потоку. Активний прискорювач таблиці можуть бути змінені в будь-який час передаючи ручку різних прискорювач таблиці до TranslateAccelerator.

Index