Уведомление WM_CONTEXTMENU


Сообщение WM_CONTEXTMENU уведомляет окно, что пользователь щелкнул правой кнопкой мыши (right clicked -  щелчок правой кнопкой) в окне.

Синтаксис

WM_CONTEXTMENU
    WPARAM wParam
    LPARAM lParam;

Параметры

wParam

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

lParam

Младшее слово определяет горизонтальную позицию курсора, в экранной системе координат, во время щелчка клавишей мыши.

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

Возвращаемые значения

Возвращаемых значений нет.

Замечания

Окно может обрабатывать это сообщение, чтобы показать на экране контекстное меню, используя функцию TrackPopupMenu или TrackPopupMenuEx. Чтобы получить горизонтальную и вертикальную позиции, используйте ниже следующий код:

 

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Если окно не показывает на экране контекстное меню, оно должно передать это сообщение в функцию 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

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz