Поделиться через


сообщение WM_CONTEXTMENU

Уведомляет окно о том, что пользователь хочет, чтобы отображалось контекстное меню. Пользователь мог щелкнуть правую кнопку мыши (щелкнуть правой кнопкой мыши) в окне, нажать клавиши SHIFT+F10 или клавиши приложений (контекстного меню), доступные на некоторых клавиатурах.

#define WM_CONTEXTMENU                  0x007B

Параметры

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).

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

См. также раздел

Справочные материалы

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

TrackPopupMenu

TrackPopupMenuEx

WM_NCRBUTTONUP

WM_RBUTTONUP

Основные понятия

Меню