Método IContextMenuSite::D oContextMenuPopup (shobjidl_core.h)
[DoContextMenuPopup não está mais disponível para uso a partir do Windows Server 2003.]
Cria e exibe um menu de atalho, rastreia a seleção de itens nesse menu e invoca um comando escolhido.
Sintaxe
HRESULT DoContextMenuPopup(
[in] IUnknown *punkContextMenu,
[in] UINT fFlags,
[in] POINT pt
);
Parâmetros
[in] punkContextMenu
Tipo: IUnknown*
Um ponteiro para a implementação IUnknown do menu de atalho.
[in] fFlags
Tipo: UINT
Sinalizadores opcionais que especificam como o menu de atalho pode ser alterado. Esse parâmetro pode ser definido como qualquer combinação dos valores a seguir. Os bits restantes da palavra de baixa ordem são reservados pelo sistema. A palavra de alta ordem pode ser usada para comunicações específicas de contexto. O valor CMF_RESERVED pode ser usado para mascarar a palavra de baixa ordem.
CMF_NORMAL (0x00000000)
0x00000000. Indica a operação normal. Uma extensão de menu de atalho, uma extensão de namespace ou um manipulador de arrastar e soltar pode adicionar todos os itens de menu.
CMF_DEFAULTONLY (0x00000001)
0x00000001. Esse sinalizador é definido quando o usuário está ativando a ação padrão, normalmente clicando duas vezes. Esse sinalizador fornece uma dica para que a extensão de menu de atalho não adicione nada se não modificar o item padrão no menu. Uma extensão de menu de atalho ou manipulador de arrastar e soltar não deve adicionar nenhum item de menu se esse valor for especificado. Uma extensão de namespace deve adicionar apenas o item padrão (se houver).
CMF_VERBSONLY (0x00000002)
0x00000002. Esse sinalizador será definido se o menu de atalho for para um objeto de atalho. Os manipuladores de menu de atalho devem ignorar esse valor.
CMF_EXPLORE (0x00000004)
0x00000004. Esse sinalizador é definido quando a janela da árvore do Windows Explorer está presente.
CMF_NOVERBS (0x00000008)
0x00000008. Esse sinalizador é definido para itens exibidos no menu Enviar para . Os manipuladores de menu de atalho devem ignorar esse valor.
CMF_CANRENAME (0x00000010)
0x00000010. Esse sinalizador será definido se o aplicativo de chamada der suporte à renomeação de itens. Uma extensão de menu de atalho ou manipulador de arrastar e soltar deve ignorar esse sinalizador. Uma extensão de namespace deve adicionar um item de renomeação ao menu, se aplicável.
CMF_NODEFAULT (0x00000020)
0x00000020. Esse sinalizador será definido se nenhum item no menu tiver sido definido como o padrão. Um manipulador de arrastar e soltar deve ignorar esse sinalizador. Uma extensão de namespace não deve definir nenhum dos itens de menu como o padrão.
CMF_INCLUDESTATIC (0x00000040)
Esse valor não está disponível.
Windows Server 2003 e Windows XP: 0x00000040. Esse sinalizador é definido quando um menu estático está sendo construído. Somente o navegador deve usar esse sinalizador. Todas as outras extensões de menu de atalho devem ignorar esse sinalizador.
CMF_ITEMMENU (0x00000080)
0x00000080. Esse sinalizador é definido quando o aplicativo de chamada está invocando um menu de contexto em um item no modo de exibição (em vez da tela de fundo do modo de exibição).
Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_EXTENDEDVERBS (0x00000100)
0x00000100. Esse sinalizador é definido quando o aplicativo de chamada deseja verbos estendidos. Verbos normais são exibidos quando o usuário clica com o botão direito do mouse em um objeto. Para exibir verbos estendidos, o usuário deve clicar com o botão direito do mouse enquanto pressiona a tecla SHIFT.
CMF_DISABLEDVERBS (0x00000200)
0x00000200. Esse sinalizador é definido quando o aplicativo de chamada pretende invocar verbos que, de outra forma, estão desabilitados, como menus herdados.
Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_ASYNCVERBSTATE (0x00000400)
0x00000400. Esse sinalizador será definido se o estado do verbo puder ser avaliado de forma assíncrona.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_OPTIMIZEFORINVOKE (0x00000800)
0x00000800. Informa manipuladores de menu de contexto que não dão suporte à invocação de um verbo por meio de um nome de verbo canônico para ignorar esse processamento em sua implementação IContextMenu::QueryContextMenu .
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_SYNCCASCADEMENU (0x00001000)
0x00001000.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_DONOTPICKDEFAULT (0x00002000)
0x00001000. Quando nenhum verbo for especificado explicitamente, não use um verbo padrão em seu lugar.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esse valor não está disponível.
CMF_RESERVED (0xffff0000)
0xffff0000. Esse sinalizador é uma máscara de bits que especifica todos os bits que não devem ser usados. Isso deve ser usado apenas como uma máscara. Não passe isso como um valor de parâmetro.
[in] pt
Tipo: POINT
Local onde você deseja que o menu de atalho apareça. Esse ponto especifica o local do canto superior esquerdo do menu nas coordenadas da tela.
Valor retornado
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Nenhum compatível |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |
DLL | Shell32.dll (versão 5.0 ou posterior) |