Partilhar via


Método IOleComponentUIManager.ShowContextMenu (UInt32, Guid, Int32, POINTS , IOleCommandTarget)

 

Publicado: abril de 2016

Solicita a exibição de um menu de contexto.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int ShowContextMenu(
    uint dwCompRole,
    [InAttribute] ref Guid rclsidActive,
    int nMenuId,
    POINTS[] pos,
    IOleCommandTarget pCmdTrgtActive
)
int ShowContextMenu(
    unsigned int dwCompRole,
    [InAttribute] Guid% rclsidActive,
    int nMenuId,
    array<POINTS>^ pos,
    IOleCommandTarget^ pCmdTrgtActive
)
abstract ShowContextMenu : 
        dwCompRole:uint32 *
        rclsidActive:Guid byref *
        nMenuId:int *
        pos:POINTS[] *
        pCmdTrgtActive:IOleCommandTarget -> int
Function ShowContextMenu (
    dwCompRole As UInteger,
    <InAttribute> ByRef rclsidActive As Guid,
    nMenuId As Integer,
    pos As POINTS(),
    pCmdTrgtActive As IOleCommandTarget
) As Integer

Parâmetros

  • dwCompRole
    [in] Função do objeto in loco VSPackage solicitando o menu de contexto.Para válido dwCompRole valores, consulte OLEROLE.
  • rclsidActive
    [in] Classe (CLSID) do identificador do objeto in loco VSPackage solicitando o menu de contexto.
  • nMenuId
    [in] Identifica o menu de contexto a ser exibido.
  • pos
    [in] Identifica a posição da tela no menu de contexto.
  • pCmdTrgtActive
    [in] Aponta para o IOleCommandTarget interface para manipular o despacho de comandos do objeto ativo enquanto o menu de contexto é exibido.

Valor de retorno

Type: System.Int32

Se o método for bem-sucedido, ele retorna S_OK.Se ele falhar, ele retorna um código de erro.

Comentários

COM assinatura

De oleipc.idl:

HRESULT IOleComponentUIManager::ShowContextMenu(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidActive,
   [in] LONG nMenuId,
   [in] REFPOINTS pos,
   [in] IOleCommandTarget *pCmdTrgtActive
);

ShowContextMenupode ser usado por objetos de nível superior de ferramenta e VSPackage no local.Objetos de VSPackage no local devem ser o objeto ativo da interface do usuário mais interno ou um subcomponente na cadeia pai do objeto ativo da interface do usuário ou principal.

Quando o menu de contexto não estiver visível, o SOleComponentUIManager serviço retorna despachar comandos do objeto ativo usando o IOleCommandTarget interface do objeto ativo mais interno.Esse é o objeto que foi passado pela última vez na chamada para IOleCommandTarget.

Porque o IOleCommandTarget interface apontada por pCmdTrgtActive é usado enquanto o menu de contexto é exibido em vez da interface do atualmente objeto ativo da interface do usuário, é possível exibir o menu de contexto sem retirar o foco de um controle aninhado.Antes de exibir o menu solicitado, se a solicitação é proveniente de um objeto que atua como um componente de in loco sub ou um controle de componente, o SOleComponentUIManager serviço permite que o componente principal do local a oportunidade de substituir ou mesclar um menu de contêiner com o menu do objeto ativo.

Chamar o comando que o usuário selecionar no menu de contexto ocorre antes da chamada para ShowContextMenu retorna.

Se um objeto VSPackage que atua como um controle do componente quer o componente principal para exibir o menu de contexto do controle genérico, as chamadas de controle do componente IOleCommandTarget, fornecendo seu próprio GUID e o identificador de menu COMP_CONTEXTID_CTRLGENERIC.O SOleComponentUIManager serviço passa esses identificadores para o componente principal quando chama o objeto GetCntrContextMenu.O componente principal deve reconhecer esse identificador de menu e responder a supressão de componente do menu controle e substituindo-o com o menu de controle genérico do componente principal.

Consulte também

Interface IOleComponentUIManager
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo