Сообщение WM_APPCOMMAND уведомляет окно о том, что пользователь создал командное событие прикладной программы, например, щелкая по командной кнопке приложения, используя мышь или нажимая на клавиатуре клавишу управления приложением.
Синтаксис
WM_APPCOMMAND WPARAM wParam LPARAM lParam; |
Параметры
wParam
Дескриптор окна, где пользователь щелкнул кнопкой мыши или нажал клавишу. Это может быть дочерним окном окна, получающего сообщение. Дополнительную информацию об обработке этого сообщения, см. раздел Замечаний.
lParam
Используйте нижеследующий код, чтобы получить информацию, содержащуюся в параметре lParam .
cmd = GET_APPCOMMAND_LPARAM(lParam); uDevice = GET_DEVICE_LPARAM(lParam); dwKeys = GET_KEYSTATE_LPARAM(lParam); |
Где cmd обозначает команду приложения. Этим параметром может быть одно из нижеследующих значений.
Значение | Предназначение |
APPCOMMAND_BASS_BOOST | Переключает подъем частотной характеристики в области НЧ в положение вкл. и выкл. |
APPCOMMAND_BASS_DOWN | Уменьшает нижние звуковые частоты. |
APPCOMMAND_BASS_UP | Увеличивает нижние звуковые частоты. |
APPCOMMAND_BROWSER_BACKWARD | Перемещает обратно. |
APPCOMMAND_BROWSER_FAVORITES | Открывает "фаворитов". |
APPCOMMAND_BROWSER_FORWARD | Перемещает вперед. |
APPCOMMAND_BROWSER_HOME | Перемещает в начальное положение. |
APPCOMMAND_BROWSER_REFRESH | Обновляет страницу. |
APPCOMMAND_BROWSER_SEARCH | Открывает поиск. |
APPCOMMAND_BROWSER_STOP | Останавливать загрузку. |
APPCOMMAND_CLOSE | Windows XP: Закрывает окно (не приложение). |
APPCOMMAND_COPY | Windows XP: Копирует выбранное. |
APPCOMMAND_CORRECTION_LIST | Windows XP: Заводит список исправлений, когда слово неправильно идентифицировано в ходе речевого ввода. |
|
Windows XP: Вырезает выделенный фрагмент. |
APPCOMMAND_DICTATE_OR_COMMAND
_CONTROL_TOGGLE |
Windows XP: Переключает между двумя режимами ввода речи: диктовка и команда/управление (подающиеся команды приложению или меню доступа). |
APPCOMMAND_FIND | Windows XP: Открывает диалоговое окно "Найти". |
APPCOMMAND_FORWARD_MAIL | Windows XP: Отправляет почтовое сообщение. |
APPCOMMAND_HELP | Windows XP: Открывает диалоговое окно "Справка". |
APPCOMMAND_LAUNCH_APP1 | Запустить приложение1. |
APPCOMMAND_LAUNCH_APP2 | Запустить приложение2. |
APPCOMMAND_LAUNCH_MAIL | Открывает почту. |
APPCOMMAND_MEDIA_NEXTTRACK | Переход на следующую дорожку. |
APPCOMMAND_MEDIA_PLAY_PAUSE | Воспроизведение или пауза проигрывателя. |
APPCOMMAND_MEDIA_PREVIOUSTRACK | Переход на предыдущую дорожку. |
APPCOMMAND_MEDIA_SELECT | Переход в режим Media Select. |
APPCOMMAND_MEDIA_STOP | Остановка проигрывателя. |
APPCOMMAND_MIC_ON_OFF_TOGGLE | Windows XP: Переключение микрофона. |
APPCOMMAND_MICROPHONE_VOLUME_DOWN | Windows XP: Увеличение уровня громкости микрофона. |
APPCOMMAND_MICROPHONE_VOLUME_MUTE | Windows XP: Отключение звука микрофона. |
APPCOMMAND_MICROPHONE_VOLUME_UP | Windows XP: Уменьшение уровня громкости микрофона. |
APPCOMMAND_NEW | Windows XP: Создание нового окна. |
APPCOMMAND_OPEN | Windows XP: Открывает окно. |
APPCOMMAND_PASTE | Windows XP: Вставка |
APPCOMMAND_PRINT | Windows XP: Распечатка текущего документа. |
APPCOMMAND_REDO | Windows XP: Восстановить последнее действие. |
APPCOMMAND_REPLY_TO_MAIL | Windows XP: Ответить на почтовое сообщение. |
APPCOMMAND_SAVE | Windows XP: Сохранить текущий документ. |
APPCOMMAND_SEND_MAIL | Windows XP: Отправить почтовое сообщение. |
APPCOMMAND_SPELL_CHECK | Windows XP: Инициализация проверки орфографии. |
APPCOMMAND_TREBLE_DOWN | Уменьшить верхние звуковые частоты. |
APPCOMMAND_TREBLE_UP | Увеличить верхние звуковые частоты. |
APPCOMMAND_UNDO | Windows XP: Отменить последнее действие. |
APPCOMMAND_VOLUME_DOWN | Понизить уровень звука. |
APPCOMMAND_VOLUME_MUTE | Отключить звук. |
APPCOMMAND_VOLUME_UP | Повысить уровень звука. |
Где uDevice обозначает устройство ввода данных, которое генерировало событие ввода данных. Это может быть одно из нижеследующих значений.
Значение | Предназначение |
FAPPCOMMAND_KEY | Пользователь нажал клавишу. |
FAPPCOMMAND_MOUSE | Пользователь щелкнул кнопкой мыши. |
FAPPCOMMAND_OEM | Неопознанный аппаратный источник генерировал это событие. Это может быть событие ввода от мыши или клавиатуры. |
Где dwKeys обозначает, находятся ли различные виртуальные клавиши в нажатом состоянии. Эта переменная может состоять из одного или нескольких ниже следующее значений.
Значение | Предназначение |
MK_CONTROL | Нажата клавиша CTRL. |
MK_LBUTTON | Нажата левая кнопка мыши. |
MK_MBUTTON | Нажата средняя кнопка мыши. |
MK_RBUTTON | Нажата правая кнопка мыши. |
MK_SHIFT | Нажата клавиша SHIFT. |
MK_XBUTTON1 | Нажата первая кнопка X. |
MK_XBUTTON2 | Нажата вторая кнопка X. |
Возвращаемое значение
Если приложение обрабатывает это сообщение, оно возвращает значение ИСТИНА (TRUE). Подробную информацию об обработке возвращаемого значения, см. раздел Замечаний.
Замечания
Функция DefWindowProc генерирует сообщение WM_APPCOMMAND тогда , когда она обрабатывает сообщение WM_XBUTTONUP или WM_NCXBUTTONUP, или когда пользователь нажимает командную клавишу приложения.
Если дочернее окно не обрабатывает это сообщение и вместо этого вызывает DefWindowProc, функция DefWindowProc отправит сообщение его родительскому окну. Если окно верхнего уровня не обрабатывает это сообщение и вместо этого вызывает DefWindowProc, функция DefWindowProc вызывает процедуру-ловушку (hook) оболочки с кодом hook - точки, равным HSHELL_APPCOMMAND.
Чтобы получить координаты курсора, если сообщение было сгенерировано щелчком кнопки мыши, приложение может вызвать функцию GetMessagePos. Приложение может проверить, было ли сообщение сгенерировано мышью, при помощи проверки, содержит ли параметр lParam флажок FAPPCOMMAND_MOUSE.
В отличие от других сообщений окон, приложение должно возвратить значение ИСТИНА (TRUE), если оно обрабатывает это сообщение. Такое выполнение даст возможность программе имитировать это сообщение в системе Microsoft ® Windows ® быстрее, чем в Windows 2000, чтобы определить, обработала ли оконная процедура сообщение или вызвала функцию DefWindowProc, чтобы обработать его.
Смотри такжеОбзор Ввод данных с клавиатуры, DefWindowProc, GET_APPCOMMAND_LPARAM, GET_DEVICE_LPARAM, GET_KEYSTATE_LPARAM, ShellProc, WM_XBUTTONUP, WM_NCXBUTTONUP
Размещение и совместимость WM_APPCOMMAND |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Нет |
Windows Me |
Да |
Windows 98 |
Нет |
Windows 95 |
Нет |
Используемая библиотека |
Нет |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |