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)