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


Метод IContextMenu3::HandleMenuMsg2 (shobjidl_core.h)

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

Синтаксис

HRESULT HandleMenuMsg2(
  UINT    uMsg,
  WPARAM  wParam,
  LPARAM  lParam,
  LRESULT *plResult
);

Параметры

uMsg

Тип: UINT

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

wParam

Тип: WPARAM

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

lParam

Тип: LPARAM

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

plResult

Тип: LRESULT*

Адрес значения LRESULT , возвращаемого владельцем меню из сообщения. Этот параметр может принимать значение NULL.

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

Тип: HRESULT

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

Комментарии

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

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

Требования

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