Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Publicado: abril de 2016
Permite que um objeto de VSPackage in loco supondo que a função do componente principal para substituir o menu de contexto, solicitado por um objeto, supondo que o subcomponente ou componente controle.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
int GetCntrContextMenu(
uint dwRoleActiveObj,
[InAttribute] ref Guid rclsidActiveObj,
int nMenuIdActiveObj,
POINTS[] pos,
out Guid pclsidCntr,
OLEMENUID[] menuid,
out uint pgrf
)
int GetCntrContextMenu(
unsigned int dwRoleActiveObj,
[InAttribute] Guid% rclsidActiveObj,
int nMenuIdActiveObj,
array<POINTS>^ pos,
[OutAttribute] Guid% pclsidCntr,
array<OLEMENUID>^ menuid,
[OutAttribute] unsigned int% pgrf
)
abstract GetCntrContextMenu :
dwRoleActiveObj:uint32 *
rclsidActiveObj:Guid byref *
nMenuIdActiveObj:int *
pos:POINTS[] *
pclsidCntr:Guid byref *
menuid:OLEMENUID[] *
pgrf:uint32 byref -> int
Function GetCntrContextMenu (
dwRoleActiveObj As UInteger,
<InAttribute> ByRef rclsidActiveObj As Guid,
nMenuIdActiveObj As Integer,
pos As POINTS(),
<OutAttribute> ByRef pclsidCntr As Guid,
menuid As OLEMENUID(),
<OutAttribute> ByRef pgrf As UInteger
) As Integer
Parâmetros
- dwRoleActiveObj
[in] Especifica a função do objeto ativo mais interno da interface do usuário que contribua com o menu de contexto.Para obter uma lista válida dwRoleActiveObj valores, consulte OLEROLE.
- rclsidActiveObj
[in] Classe (CLSID) do identificador do objeto ativo mais interno da interface do usuário que contribua com o menu de contexto.
- nMenuIdActiveObj
[in] Identificador do menu para a contribuição.Um identificador de menu é uma combinação de um CLSID e um OLEMENUID estrutura.
- pos
[in] Posição em coordenadas de tela no menu de contexto.
- pclsidCntr
[out] Classe (CLSID) do identificador do menu de contexto para a contribuição.Se não houver nenhum menu contribuir, esse parâmetro deve ser null.
- menuid
[out] Identificador do menu de contexto para a contribuição.O identificador é um OLEMENUID estrutura composta por um identificador numérico de menu, um buffer de caractere para armazenar o nome do menu e um ponteiro para o menu.O menu pode ser especificado com uma seqüência de caracteres de nome de menu ou com a identificação de um menu interno do objeto no local, supondo que a função do componente principal.A seqüência de caracteres deve ser um nome de um menu que é conhecido no ambiente.Se a seqüência de caracteres não identificar um nome de menu válido, não será exibido nenhum menu de contexto.O ambiente pode retornar uma lista de nomes de menus válido por meio do IPerPropertyBrowsing método.
- pgrf
[out] Sinalizadores de controlar como o menu deve ser usado.Para obter uma lista válida pgrf valores, consulte OLEMENU.
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 IOleInPlaceComponent::GetCntrContextMenu(
[in] DWORD dwRoleActiveObj,
[in] REFCLSID rclsidActiveObj,
[in] LONG nMenuIdActiveObj,
[in] REFPOINTS pos,
[out] CLSID *pclsidCntr,
[out] OLEMENUID *menuid,
[out] DWORD *pgrf
);
O menuid parâmetro só pode ser definido como OLEMENU_CNTRMENUONLY; o OLEMENU_MENUMERGE valor não é suportado.
Os objetos no local podem solicitar a exibição de um menu de contexto chamando ShowContextMenu.Se o chamador de ShowContextMenu é um objeto, assumindo que a função de controle subcomponente ou componente, as chamadas de ambiente GetCntrContextMenu do objeto no local principal do componente.Essa chamada permite que o objeto no local do componente principal assumir o controle da tela do menu de contexto final.O componente principal pode executar uma das seguintes ações em sua implementação de GetCntrContextMenu:
Permitir que o menu de contexto do objeto interno a ser exibido.
Não permitir que qualquer menu de contexto a ser exibido.
O Contribute um menu de contexto do recipiente que substitui completamente o que o objeto interno.
O Contribute um menu de contexto do recipiente será mesclado com que o objeto interno.Menu do contêiner precisa incluir um marcador especial no ponto onde o menu do objeto é inserido.
Se o objeto in-loco define o OLEMENU_MENUMERGE bit na pgrf parâmetro, o recipiente e menus do objeto ativo serão mescladas.Se a OLEMENU_MENUMERGE bit não está ativado, o menu recipiente substitui o menu do objeto ativo.Ou seja, o menu de contexto do contêiner é exibido sem mesclar no menu do objeto ativo.
Consulte também
Interface IOleInPlaceComponent
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo