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


Метод IContextMenu2::HandleMenuMsg (shobjidl_core.h)

Позволяет клиентским объектам интерфейса IContextMenu обрабатывать сообщения, связанные с элементами меню, нарисованными владельцем.

Синтаксис

HRESULT HandleMenuMsg(
  UINT   uMsg,
  WPARAM wParam,
  LPARAM lParam
);

Параметры

uMsg

Тип: UINT

Сообщение, которое нужно обработать. В некоторых сообщениях, таких как WM_INITMENUPOPUP, WM_DRAWITEM, WM_MENUCHAR или WM_MEASUREITEM, вызываемый клиентский объект может предоставлять элементы меню, нарисованные владельцем.

wParam

Тип: WPARAM

Дополнительные сведения о сообщении. Значение этого параметра зависит от значения параметра uMsg .

lParam

Тип: LPARAM

Дополнительные сведения о сообщении. Значение этого параметра зависит от значения параметра uMsg .

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

Тип: HRESULT

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

IContextMenu2::HandleMenuMsg обычно заменяется handleMenuMsg2. HandleMenuMsg2 вызывается, когда IContextMenu определяет, что IContextMenu3 поддерживается, и получает одно из сообщений, указанных в описании параметра uMsg . Однако в некоторых случаях по-прежнему вызывается IContextMenu2::HandleMenuMsg .

Если требуется IContextMenu2 или IContextMenu3 , лучшая реализация новых контекстных меню заключается в реализации всей логики в HandleMenuMsg2 и реализации IContextMenu2::HandleMenuMsg просто делегировать вызов HandleMenuMsg2 и передать null в качестве параметра plResult .

Примечание Если IContextMenu3 не реализован, нет никакой гарантии, что вместо нее будет вызван IContextMenu2 . В некоторых случаях определяется отсутствие IContextMenu3 , а затем процесс останавливается.
 

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)
DLL Shell32.dll (версия 4.0 или более поздняя)

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

HandleMenuMsg2

IContextMenu2