Первым шагом в создании таблицы клавиш-ускорителей во время прогона программы является заполнение массива структур ACCEL. Каждая структура в массиве определяет клавишу - ускоритель в таблице. Определение акселераторов включает в себя их флажки, их клавиши и их идентификаторы. Структура ACCEL имеет следующую форму.
typedef struct tagACCEL { // accl BYTE fVirt; WORD key; WORD cmd; } ACCEL;
Вы определяете нажатие клавиши - ускорителя, при помощи установки кода буквы ASCII или кода виртуальной клавиши в члене key структуры ACCEL. Если Вы определяете код виртуальной клавиши, Вы должны сначала включить флажок FVIRTKEY в члене fVirt; иначе, Windows поймет код как код буквы ASCII. Вы можете включить флажок FCONTROL, FALT или FSHIFT, или все три, чтобы комбинировать с нажатиями клавиш клавиши CTRL, ALT или SHIFT.
Чтобы создать таблицу клавиш-ускорителей, пошлите адрес массива структур ACCEL в функцию CreateAcceleratorTable. CreateAcceleratorTable создает таблицу клавиш-ускорителей и возвращает ее дескриптор.