Udostępnij za pośrednictwem


Metoda IOleComponentUIManager.ShowContextMenu — (UInt32, Guid, Int32, POINTS , IOleCommandTarget)

 

Żądania wyświetlanie menu kontekstowego.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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

Parametry

  • dwCompRole
    Type: System.UInt32

    [in] Rola obiektu VSPackage w miejscu żądanie menu kontekstowego. Aby uzyskać prawidłową dwCompRole wartości, zobacz OLEROLE.

  • rclsidActive
    Type: System.Guid

    [in] Klasy identyfikator (CLSID) w miejscu obiektu VSPackage żądanie menu kontekstowego.

  • nMenuId
    Type: System.Int32

    [in] Identyfikuje menu kontekstowego, które mają być wyświetlane.

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 IOleComponentUIManager::ShowContextMenu(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidActive,
   [in] LONG nMenuId,
   [in] REFPOINTS pos,
   [in] IOleCommandTarget *pCmdTrgtActive
);

ShowContextMenu można wykorzystywać obiekty narzędzie najwyższego poziomu i VSPackage w miejscu. W miejscu VSPackage obiekty muszą zostać najbardziej aktywnego obiektu interfejsu użytkownika lub głównym lub podskładnika w łańcuchu nadrzędnej aktywnego obiektu interfejsu użytkownika.

Gdy menu kontekstowego nie jest widoczny, SOleComponentUIManager Usługa zwraca do wysyłania poleceń aktywnego obiektu przy użyciu IOleCommandTarget interfejs najbardziej wewnętrznego aktywnego obiektu. Jest to obiekt, który został ostatnio przekazany w wywołaniu IOleCommandTarget.

Ponieważ IOleCommandTarget interfejs wskazywany przez pCmdTrgtActive jest używany podczas wyświetlania menu kontekstowego zamiast interfejsu obecnie aktywny interfejsu użytkownika obiektu, można wyświetlić menu kontekstowe bez wykonywania fokus poza formant zagnieżdżonych. Przed wyświetleniem żądane menu, jeśli żądanie pochodzi z obiektu działa jako składnik w miejscu podrzędny lub formantu Składnik SOleComponentUIManager usługi zapewnia główny składnik w miejscu możliwość zastąpienia lub scalania menu kontenera z menu aktywnego obiektu.

Wywoływanie wybierany przez użytkownika w menu kontekstowym polecenie występuje przed wywołanie ShowContextMenu zwraca.

Jeśli obiekt VSPackage działający jako formant składnika chce, główny składnik, aby wyświetlić jego menu kontekstowe formant ogólny wywołania formant składnika IOleCommandTarget, podając jego własny identyfikator GUID i identyfikator menu COMP_CONTEXTID_CTRLGENERIC.SOleComponentUIManager Usługi przekazuje te identyfikatory się główny składnik, gdy wywołuje obiekt GetCntrContextMenu. Główny składnik należy rozpoznać tego identyfikatora menu i odpowiedzi z pominięciem menu Kontrola składnika i zastępowanie menu Kontrola ogólnego główny składnik.

Zobacz też

Interfejs IOleComponentUIManager
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku