Udostępnij za pośrednictwem


Metoda IOleInPlaceComponentUIManager.UIActivateForMe — (UInt32, Guid, IOleInPlaceActiveObject, IOleCommandTarget, UInt32, Int32 )

 

Żądania wysyłane przez SOleComponentUIManager usługi udział w aktywacji lub dezaktywacji obiektu VSPackage w miejscu.

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

Składnia

int UIActivateForMe(
    uint dwCompRole,
    [InAttribute] ref Guid rclsidActive,
    IOleInPlaceActiveObject pIPActObj,
    IOleCommandTarget pCmdTrgtActive,
    uint cCmdGrpId,
    int[] rgnCmdGrpId
)
int UIActivateForMe(
    unsigned int dwCompRole,
    [InAttribute] Guid% rclsidActive,
    IOleInPlaceActiveObject^ pIPActObj,
    IOleCommandTarget^ pCmdTrgtActive,
    unsigned int cCmdGrpId,
    array<int>^ rgnCmdGrpId
)
abstract UIActivateForMe : 
        dwCompRole:uint32 *
        rclsidActive:Guid byref *
        pIPActObj:IOleInPlaceActiveObject *
        pCmdTrgtActive:IOleCommandTarget *
        cCmdGrpId:uint32 *
        rgnCmdGrpId:int[] -> int
Function UIActivateForMe (
    dwCompRole As UInteger,
    <InAttribute> ByRef rclsidActive As Guid,
    pIPActObj As IOleInPlaceActiveObject,
    pCmdTrgtActive As IOleCommandTarget,
    cCmdGrpId As UInteger,
    rgnCmdGrpId As Integer()
) As Integer

Parametry

  • dwCompRole
    Type: System.UInt32

    [in] Rola uaktywnianie lub dezaktywowanie obiektu VSPackage w miejscu. Aby uzyskać prawidłową dwCompRole wartości, zobacz OLEROLE.

  • rclsidActive
    Type: System.Guid

    [in] Identyfikator (CLSID) obiektu VSPackage w miejscu, uaktywnianie lub dezaktywowanie klasy.

  • cCmdGrpId
    Type: System.UInt32

    [in] Liczba identyfikatorów niestandardowy pasek narzędzi rgnCmdGrpId parametru.

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 IOleInPlaceComponentUIManager::UIActivateForMe(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidActive,
   [in] IOleInPlaceActiveObject *pIPActObj,
   [in] IOleCommandTarget *pCmdTrgtActive,
   [in] ULONG cCmdGrpId,
   [in] LONG *rgnCmdGrpId
);

UIActivateForMe to metoda podstawowego odróżnia stosowania SOleComponentUIManager usługi przy użyciu tradycyjnych Aktywacja w miejscu OLE. Gdy wywołuje obiekt VSPackage w miejscu UIActivateForMe, SOleComponentUIManager usługi wykonuje wszystkie niezbędne kroki w celu integracji obiekt menu, paski narzędzi i polecenia w środowisku. Obiekt nie trzeba wziąć udział w negocjowanie obramowania miejsca, aby włączyć scalanie menu, jak to konieczne, aktywacja w miejscu OLE.

UIActivateForMe logiczne zastępuje SetActiveObject metody w IOleInPlaceFrame interfejsu. Przekazuje obiekt VSPackage w miejscu jego pIPActObj wskaźnik do środowiska w przypadku tej metody, a nie za pomocą kontenera UIActivateForMe Metoda, co jest wykonywane w standardowych Aktywacja w miejscu OLE.

Do zaimplementowania UIActivateForMe, koordynować tej metody wykonania UIActivateForMe metody w IOleInPlaceFrame interfejsu. Efekt tego wywołania jest podobny do wywoływania obiektu OLE:

IOleInPlaceUIWindow::SetActiveObject(pActiveObj);

IOleInPlaceFrame::SetMenu(null);

IOleInPlaceUIWindow::SetBorderSpace(null);

Kiedy obiekt VSPackage w miejscu przyjmuje fokus przez wywołanie UIActivateForMe, SOleComponentUIManager Usługa zastępuje wszelkie niestandardowe menu i pasków zadań wyświetlane w imieniu poprzedniej aktywnego obiektu z tymi nowego aktywnego obiektu. Jeśli nowy obiekt traci fokus lub zagnieżdżony obiekt ma fokus, te menu i paski narzędzi są usuwane.

Zobacz też

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

Powrót do początku