Интерфейс клавиатуры диалогового окна

Система обеспечивает интерфейс специальные клавиши для диалоговых окон, осуществляет специальную обработку для нескольких ключей. Интерфейс генерирует сообщения, которые соответствуют определенным кнопок в диалоговом окне или изменяет фокус ввода от одного элемента управления на другой. Ниже приведены ключей, используемых в этот интерфейс и их соответствующие действия.

Ключ Действия
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 . Когда диалоговое окно имеет полосы прокрутки, оно должно предоставить альтернативный клавиатурный интерфейс для полос прокрутки. Обратите внимание, что интерфейс мыши для прокрутки доступен, когда система включает в себя мыши.

Index