Система обеспечивает интерфейс специальные клавиши для диалоговых окон, осуществляет специальную обработку для нескольких ключей. Интерфейс генерирует сообщения, которые соответствуют определенным кнопок в диалоговом окне или изменяет фокус ввода от одного элемента управления на другой. Ниже приведены ключей, используемых в этот интерфейс и их соответствующие действия.
| Ключ | Действия |
|---|---|
| alt +мнемоник | Перемещает фокус ввода на первый элемент управления (с WS_TABSTOP стиля) после статического элемента управления, содержащий данный мнемоник. |
| вниз | Перемещает фокус ввода на следующий элемент управления в группе. |
| введите | Отправляет сообщения WM_COMMAND процедуру диалогового окна. Параметр wParam имеет значение IDOK или элемента управления идентификатор кнопки по умолчанию. |
| esc | Отправляет сообщения WM_COMMAND процедуру диалогового окна. Параметр wParam имеет значение IDCANCEL. |
| слева | Перемещает фокус ввода на предыдущий элемент управления в группе. |
| мнемоника | Перемещает фокус ввода на первый элемент управления (с WS_TABSTOP стиля) после статического элемента управления, содержащий данный мнемоник. |
| право | Перемещает фокус ввода на следующий элемент управления в группе. |
| shift + tab | Перемещает фокус ввода к предыдущему элементу управления, WS_TABSTOP стиль. |
| закладка | Перемещает фокус ввода на следующий элемент управления, имеющий стиль WS_TABSTOP. |
| вверх | Перемещает фокус ввода на предыдущий элемент управления в группе. |
Система автоматически обеспечивает интерфейс клавиатуры для всех модальных диалоговых окон. Он не предусматривает интерфейс безрежимные диалоговые если приложение вызывает функцию IsDialogMessage для фильтрации сообщений в его основной цикл обработки сообщений. Это значит, что приложение должно передать сообщение IsDialogMessage сразу же после получения сообщения из очереди сообщений. Функция обрабатывает сообщения, если он предназначен для диалогового окна и возвращает ненулевое значение, чтобы указать, что сообщение было обработано и не должен быть передан функции TranslateMessage или DispatchMessage.
Поскольку диалоговое окно поле клавиатурный интерфейс использует ключи дирекции для перемещения между элементами управления в диалоговом окне, приложение не может использовать эти клавиши для прокрутки содержимого любого модального диалогового окна или любой немодальное диалоговое для которого был вызван IsDialogMessage . Когда диалоговое окно имеет полосы прокрутки, оно должно предоставить альтернативный клавиатурный интерфейс для полос прокрутки. Обратите внимание, что интерфейс мыши для прокрутки доступен, когда система включает в себя мыши.