Compartilhar via


Método IContextMenu3::HandleMenuMsg2 (shobjidl_core.h)

Permite que objetos cliente da interface IContextMenu3 manipulem mensagens associadas a itens de menu desenhados pelo proprietário.

Sintaxe

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

Parâmetros

uMsg

Tipo: UINT

A mensagem a ser processada. No caso de algumas mensagens, como WM_INITMENUPOPUP, WM_DRAWITEM, WM_MENUCHAR ou WM_MEASUREITEM, o objeto cliente chamado pode fornecer itens de menu desenhados pelo proprietário.

wParam

Tipo: WPARAM

Informações adicionais da mensagem. O valor desse parâmetro depende do valor do parâmetro uMsg .

lParam

Tipo: LPARAM

Informações adicionais da mensagem. O valor desse parâmetro depende do valor do parâmetro uMsg .

plResult

Tipo: LRESULT*

O endereço de um valor LRESULT que o proprietário do menu retornará da mensagem. Este parâmetro pode ser NULL.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

IContextMenu3::HandleMenuMsg2 geralmente substitui IContextMenu2::HandleMenuMsg e é chamado quando IContextMenu determina que IContextMenu3 tem suporte e uma das mensagens com suporte (consulte uMsg) foi recebida. No entanto, em alguns casos, IContextMenu2::HandleMenuMsg ainda é chamado. Os hosts de menu de contexto podem expedir mensagens de menu por meio de ambos os métodos. Consequentemente, se uma extensão shell implementar IContextMenu2::HandleMenuMsg e IContextMenu3::HandleMenuMsg2, ela deverá estar preparada para que as mensagens de menu cheguem por meio de qualquer método.

Nota Se IContextMenu3 não for implementado, não haverá garantia de que IContextMenu2 será chamado em seu lugar. Em alguns casos, a ausência de IContextMenu3 é determinada e, em seguida, o processo é interrompido.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)
DLL Shell32.dll (versão 4.71 ou posterior)