Aracılığıyla paylaş


IOleInPlaceComponentUIManager.UIActivateForMe Yöntem (UInt32, Guid, IOleInPlaceActiveObject, IOleCommandTarget, UInt32, Int32 )

 

İsteklerine SOleComponentUIManager hizmet etkinleştirme veya devre dışı bırakma yerinde VSPackage nesnenin katılın.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

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

Parametreler

  • dwCompRole
    Type: System.UInt32

    [in] Ya da etkinleştirme veya devre dışı bırakma yerinde VSPackage nesne rolü. İçin geçerli dwCompRole değerler, bakın OLEROLE.

  • rclsidActive
    Type: System.Guid

    [in] Sınıf, ya da etkinleştirme veya devre dışı bırakma yerinde VSPackage nesne tanımlayıcısı (CLSID).

  • cCmdGrpId
    Type: System.UInt32

    [in] Özel araç çubuğu tanımlayıcılarında sayısı rgnCmdGrpId parametresi.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Notlar

COM imza

Oleipc.idl:

HRESULT IOleInPlaceComponentUIManager::UIActivateForMe(
   [in] DWORD dwCompRole,
   [in] REFCLSID rclsidActive,
   [in] IOleInPlaceActiveObject *pIPActObj,
   [in] IOleCommandTarget *pCmdTrgtActive,
   [in] ULONG cCmdGrpId,
   [in] LONG *rgnCmdGrpId
);

UIActivateForMe kullanımını ayırır birincil yöntemdir SOleComponentUIManager hizmeti ile geleneksel OLE yerinde etkinleştirme. Yerinde VSPackage nesneyi çağırdığında UIActivateForMe, SOleComponentUIManager hizmeti nesnenin menüleri, araç çubuklarını ve komutlar ortamına tümleştirme tüm gerekli adımları alır. Nesne, anlaşma için OLE yerinde etkinleştirme gerekli olduğu gibi menü birleştirmeyi etkinleştirmeyi kenarlık alanı'na katılmak gerekmez.

UIActivateForMe için mantıksal yerini SetActiveObject yönteminde IOleInPlaceFrame arabirimi. Yerinde VSPackage nesneyi geçirir, pIPActObj Bu yöntemle yerine kapsayıcının ortamında işaretçisine UIActivateForMe standart OLE yerinde etkinleştirme gibi yöntemi.

Uygulamak için UIActivateForMe, bu yöntem, bir uygulama koordine UIActivateForMe yönteminde IOleInPlaceFrame arabirimi. Bu çağrı bir OLE nesne arama benzer sahiptir:

IOleInPlaceUIWindow::SetActiveObject(pActiveObj);

IOleInPlaceFrame::SetMenu(null);

IOleInPlaceUIWindow::SetBorderSpace(null);

Ne zaman bir yerinde VSPackage nesne alan odağı çağırarak UIActivateForMe, SOleComponentUIManager herhangi özel menüleri ve araç çubuklarını önceki etkin nesne olanla yeni etkin nesnenin adına görüntülenen Hizmeti'nin yerini almaktadır. Yeni nesne odağı kaybettiğinde veya iç içe nesne odağı alır, bu menüleri ve araç çubuklarını kaldırılır.

Ayrıca bkz.

IOleInPlaceComponentUIManager Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön