Как отмечено в предыдущей статье, пользователь может делать множество
операций перемещения клавиатурой, когда оперативное слежение за меню
заблокировано. Перемещение с помощью клавиатуры по органам управления
Инструментальная панель поддерживается только тогда, если они имеют фокус.
Элементы управления к тому же не обрабатывают все нажатия клавиши, которые нужны для строк меню.
Самое простое решение обработки перемещений с помощью клавиатуры состоит в
том, чтобы обрабатывать события нажатия клавиши явно.
Если оперативное слежение за меню заблокировано, ваше приложение должно
обработать эти события нажатия клавиши следующим образом:
Клавиша F10. Активизируйте первую кнопку флажком
TB_SETHOTITEM.
Клавиши курсора ПЕРЕМЕЩЕНИЕ ВЛЕВО
← и
ПЕРЕМЕЩЕНИЕ ВПРАВО →.
Активизируйте расположенную рядом кнопку флажком
TB_SETHOTITEM. Если
пользователь пытается перемещаться от любого конца строки меню,
активизируйте первую кнопку в противоположном конце.
Клавиша ESCAPE. Деактивизируйте активную кнопку с
TB_SETHOTITEM.
Строка меню должна возвратиться в состояние, которое она имела до
активизации первой кнопки.
Клавиша акселератора
ALT-Key. Используйте сообщение
TB_MAPACCELERATOR, чтобы определить, какой кнопке соответствует символ
Key. Покажите на экране раскрывающееся меню кнопки и разрешите
оперативное слежение за меню.
Клавиша курсора ПЕРЕМЕЩЕНИЕ ВНИЗ
↓. Если кнопка активна, но меню не
было показано, то показывает на экране меню кнопки и разрешает
оперативное слежение за меню.
Клавиша ENTER. Деактивизируйте активную кнопку с
TB_SETHOTITEM.
Строка меню должна возвратиться в состояние, которое она имела до
активизации первой кнопки.