Сообщение WM_CONTEXTMENU уведомляет окно, что пользователь щелкнул правой кнопкой мыши (right clicked - щелчок правой кнопкой) в окне.
Синтаксис
WM_CONTEXTMENU WPARAM wParam LPARAM lParam; |
Параметры
wParam
Дескриптор окна, в котором пользователь щелкает правой кнопкой мыши. Это может быть дочернее окно окна, принимающего сообщение. Для получения дополнительной информации об обработке этого сообщения, см. раздел Замечаний.lParam
Младшее слово определяет горизонтальную позицию курсора, в экранной системе координат, во время щелчка клавишей мыши.Старшее слово определяет
вертикальную позицию курсора, в экранной
системе координат, во время щелчка
клавишей мыши.
Возвращаемые значения
Возвращаемых значений нет.
Замечания
Окно может обрабатывать это сообщение, чтобы показать на экране контекстное меню, используя функцию TrackPopupMenu или TrackPopupMenuEx. Чтобы получить горизонтальную и вертикальную позиции, используйте ниже следующий код:
|
Если окно не показывает на экране контекстное меню, оно должно передать это сообщение в функцию DefWindowProc. Если окно является дочерним окном, DefWindowProc отправляет сообщение родителю. Иначе, DefWindowProc показывает на экране заданное по умолчанию контекстное меню, если определяемая позиция находится в заголовке окна.
Функция DefWindowProc создает сообщение WM_CONTEXTMENU тогда, когда она обрабатывает сообщение WM_RBUTTONUP или WM_NCRBUTTONUP или когда пользователь вводит с клавиатуры SHIFT+F10. Сообщение WM_CONTEXTMENU также создается и тогда, когда пользователь нажимает и отпускает клавишу VK_APPS.
Если контекстное меню создается клавиатурой - например, если пользователь вводит с клавиатуры SHIFT+F10 - тогда x- и y-координаты равны -(минус)1 и приложение должно показать на экране контекстное меню в месте текущего выбора, а не в (xPos, yPos).
Смотри также
Краткий обзор Меню, DefWindowProc, GET_X_LPARAM, GET_Y_LPARAM, TrackPopupMenu, TrackPopupMenuEx, WM_NCRBUTTONUP, WM_RBUTTONUP
Размещение и совместимость WM_CONTEXTMENU |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Минимальная версия DLL |
Нет |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |