Ваше приложение должно обрабатывать сообщения клавиатуры в фильтр (hook) -
процедуре сообщений и действовать в соответствии с тем, какое оказывает
влияние оперативное слежение за меню. Должны быть обработаны нижеследующие
нажатия клавиш:
Клавиша ESCAPE. Клавиша
ESCAPE возвращает показ меню назад на один
уровень. Если на экране показано подменю, оно должно свернуться. Если
показано основное меню кнопки, оно свертывается и запрещаться
оперативное слежение за меню. Кнопка остается активной.
Клавиша курсора ПЕРЕМЕЩЕНИЕ ВПРАВО (RIGHT ARROWW) →. Если пункт имеет
подменю, он показывается на экране. Если
у пункта нет подменю, он свертывает меню и любые подменю, активизирует
следующую кнопку с уведомлением TB_SETHOTITEM и показывает на экране его
меню. Если была активна последняя кнопка меню, когда это уведомление
было получено, на экране показывается меню первой кнопки.
Клавиша курсора ПЕРЕМЕЩЕНИЕ ВЛЕВО (LEFT ARROW)
←. Если пункт находится
в подменю, оно свертывается, а фокус смещается в его родительское меню.
Если пункт не подменю, то свертывается меню, активизируется
расположенная рядом кнопка с уведомлением TB_SETHOTITEM и
показывается на экране ее меню. Если была активна первая кнопка меню,
когда это уведомление было получено, на экране показывается меню
последней кнопки.
Клавиши курсора ПЕРЕМЕЩЕНИЕ ВВЕРХ (UP ARROW)
↑
и ПЕРЕМЕЩЕНИЕ ВНИЗ (DOWN ARROW) ↓.
Эти клавиши используются, чтобы перемещаться внутри меню, но напрямую не
влияют на действие оперативного слежения за меню.
Клавиша-ускоритель ALT-Key. Использует сообщение
TB_MAPACCELERATOR, чтобы определить, какой кнопке соответствует символ
Key. Если он соответствует другой кнопке а не той, которая в
текущий момент активна, текущее раскрывающееся меню свертывается,
активизируется новая кнопка с TB_SETHOTITEM, а на экране показывается
меню расположенной рядом кнопки. Если символ Key соответствует
показываемой на экране в текущий момент кнопке, то раскрывающееся меню
свертывается и запрещаться оперативное слежение за меню. Кнопка должна
остаться активной.