Metoda IOleInPlaceComponent.GetCntrContextMenu — (UInt32, Guid, Int32, POINTS[], Guid, OLEMENUID , UInt32)
Umożliwia obiektu VSPackage w miejscu przy założeniu roli głównego składnika do zastąpienia menu kontekstowego żądanej przez obiekt przy założeniu podskładnika lub składnika formantu.
Przestrzeń nazw: Microsoft.VisualStudio.Shell.Interop
Zestaw: Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)
Składnia
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
Parametry
dwRoleActiveObj
Type: System.UInt32[in] Określa rolę najbardziej aktywnego obiektu interfejsu użytkownika, którzy przyczyniają się menu kontekstowego. Nieprawidłowa lista dwRoleActiveObj wartości, zobacz OLEROLE.
rclsidActiveObj
Type: System.Guid[in] Klasy (CLSID), identyfikator najbardziej aktywnego obiektu interfejsu użytkownika, którzy przyczyniają się menu kontekstowego.
nMenuIdActiveObj
Type: System.Int32[in] Identyfikator menu, które mają być wniesione. Identyfikator menu jest kombinacją identyfikatora CLSID i OLEMENUID struktury.
pos
Type: Microsoft.VisualStudio.Shell.Interop.POINTS[][in] Pozycja we współrzędnych ekranu dla menu kontekstowego.
pclsidCntr
Type: System.Guid[out] Identyfikator (CLSID) z menu kontekstowego, które mają być wniesione klasy. Jeśli nie ma żadnych menu przyczynić się, ten parametr musi być null.
menuid
Type: Microsoft.VisualStudio.Shell.Interop.OLEMENUID[][out] Identyfikator menu kontekstowego, które mają być wniesione. Identyfikator jest OLEMENUID struktury składa się z identyfikatora liczbowego menu buforu znak do przechowywania nazwy menu i wskaźnik do menu. Menu można określić ciąg nazwy menu lub identyfikator menu wbudowanego obiektu w miejscu, zakładając, że rola główny składnik. Ciąg powinien być nazwę menu, który jest znany w środowisku. Jeśli ciąg nie określa nazwy prawidłowy menu, menu kontekstowe nie będą wyświetlane. Środowisko może zwrócić listę nazw prawidłowy menu za pomocą IPerPropertyBrowsing metody.
pgrf
Type: System.UInt32[out] Kontrolowanie użycia menu flagi. Nieprawidłowa lista pgrf wartości, zobacz OLEMENU.
Wartość zwracana
Type: System.Int32
Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.
Uwagi
Podpis COM
Z 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
);
menuid Parametr można ustawić tylko OLEMENU_CNTRMENUONLY; OLEMENU_MENUMERGE wartość nie jest obsługiwana.
Obiekty w miejscu mogą żądać wyświetlanie menu kontekstowego przez wywołanie metody ShowContextMenu. Jeśli obiekt wywołujący ShowContextMenu jest obiektem, zakładając, że rola kontroli podskładnika lub składnik środowiska wywołania GetCntrContextMenu składnika głównego obiektu w miejscu. To wywołanie sprawia, że obiekt w miejscu główny składnik na przejęcie kontroli nad wyświetlanie menu końcowego kontekstu. Główny składnik można wykonać jedną z następujących czynności w celu jego wykonania GetCntrContextMenu:
Zezwalaj na obiekt wewnętrzny menu kontekstowe do wyświetlania.
Nie zezwalaj na wszystkie menu kontekstowe do wyświetlania.
Wkład kontenera menu kontekstowego, która całkowicie zastępuje obiekt wewnętrzny.
Wkład menu kontekstowego kontenera, które jest połączone z tym obiektu wewnętrznego. Menu kontenera musi zawierać specjalne znacznika w punkcie, gdzie jest wstawiana menu obiektu.
Jeśli obiekt w miejscu ustawia OLEMENU_MENUMERGE bit w pgrf parametru, kontenera i menu aktywny obiekt zostanie scalony. Jeśli OLEMENU_MENUMERGE bitowa nie jest włączony, menu kontenera zastępuje menu aktywnego obiektu. Oznacza to menu kontekstowe kontenera jest wyświetlane bez scalania menu aktywnego obiektu.
Zobacz też
Interfejs IOleInPlaceComponent
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop
Powrót do początku