IOleInPlaceComponentUIManager.UIActivateForMe Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
SOleComponentUIManagerHizmetin bir yerinde VSPackage nesnesinin etkinleştirilmesinde veya devre dışı bırakılması sırasında katılımını ister.
public:
int UIActivateForMe(System::UInt32 dwCompRole, Guid % rclsidActive, Microsoft::VisualStudio::OLE::Interop::IOleInPlaceActiveObject ^ pIPActObj, Microsoft::VisualStudio::OLE::Interop::IOleCommandTarget ^ pCmdTrgtActive, System::UInt32 cCmdGrpId, cli::array <int> ^ rgnCmdGrpId);
public int UIActivateForMe (uint dwCompRole, ref Guid rclsidActive, Microsoft.VisualStudio.OLE.Interop.IOleInPlaceActiveObject pIPActObj, Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget pCmdTrgtActive, uint cCmdGrpId, int[] rgnCmdGrpId);
abstract member UIActivateForMe : uint32 * Guid * Microsoft.VisualStudio.OLE.Interop.IOleInPlaceActiveObject * Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget * uint32 * int[] -> int
Public Function UIActivateForMe (dwCompRole As UInteger, ByRef rclsidActive As Guid, pIPActObj As IOleInPlaceActiveObject, pCmdTrgtActive As IOleCommandTarget, cCmdGrpId As UInteger, rgnCmdGrpId As Integer()) As Integer
Parametreler
- dwCompRole
- UInt32
'ndaki Etkinleştiren veya devre dışı bırakacağınız yerinde VSPackage nesnesinin rolü. Geçerli dwCompRole değerler için bkz OLEROLE ..
- rclsidActive
- Guid
'ndaki Etkinleştiren veya devre dışı bırakacağınız yerinde VSPackage nesnesinin sınıf tanımlayıcısı (CLSID).
- pIPActObj
- IOleInPlaceActiveObject
'ndaki IOleInPlaceActiveObject En içteki etkin nesnenin arabirimine yönelik işaretçi. pIPActObjParametre null yerinde nesne devre dışı bırakıldığında ve etkinleşirken geçerli bir arabirim İşaretçisinde olması gerekir.
- pCmdTrgtActive
- IOleCommandTarget
'ndaki IOleCommandTarget Etkin yerinde nesne komutlarının dağıtımını işlemek için arabirim işaretçisi. pCmdTrgtActiveYerinde nesne devre dışı bırakıldığında ve etkinleştirildiğinde geçerli bir arabirim işaretçisiyse parametre null olmalıdır.
- cCmdGrpId
- UInt32
'ndaki Parametresindeki özel araç çubuğu tanımlayıcılarının sayısı rgnCmdGrpId .
- rgnCmdGrpId
- Int32[]
'ndaki Hizmet tarafından görüntülenecek özel araç çubuğu için tanımlayıcı dizisi SOleComponentUIManager .
Döndürülenler
Yöntem başarılı olursa, döndürür S_OK . Başarısız olursa, bir hata kodu döndürür.
Açıklamalar
COM Imzası
Oleıpc. DL ' den:
HRESULT IOleInPlaceComponentUIManager::UIActivateForMe(
[in] DWORD dwCompRole,
[in] REFCLSID rclsidActive,
[in] IOleInPlaceActiveObject *pIPActObj,
[in] IOleCommandTarget *pCmdTrgtActive,
[in] ULONG cCmdGrpId,
[in] LONG *rgnCmdGrpId
);
UIActivateForMe , hizmetin kullanımını geleneksel OLE yerinde etkinleştirmeye ayıran birincil yöntemdir SOleComponentUIManager . Bir yerinde VSPackage nesnesi çağırdığında UIActivateForMe , SOleComponentUIManager hizmet nesnenin menülerini, araç çubuklarını ve komutlarını ortamla bütünleştirmek için gereken tüm adımları alır. OLE yerinde etkinleştirme işleminde gerekli olduğu gibi, nesnenin menü birleştirmeyi etkinleştirmek için, kenarlık alanı anlaşmasına katılması gerekmez.
UIActivateForMe , arabirimindeki yöntemin mantıksal bir değiştirme SetActiveObject yöntemidir IOleInPlaceFrame . Yerinde VSPackage nesnesi, pIPActObj UIActivateForMe Standart ole yerinde etkinleştirme sırasında yapıldığı gibi kapsayıcının yöntemi yerine bu yöntemde kendi işaretçisini ortama geçirir.
Uygulamak için UIActivateForMe , bu yöntemi arabirimindeki Yöntem uygulamasıyla koordine edin UIActivateForMe IOleInPlaceFrame . Bu çağrının etkisi, çağıran OLE nesnesine benzer:
IOleInPlaceUIWindow::SetActiveObject(pActiveObj);
IOleInPlaceFrame::SetMenu(null);
IOleInPlaceUIWindow::SetBorderSpace(null);
Bir yerinde VSPackage nesnesi çağırarak odağı alırsa UIActivateForMe , SOleComponentUIManager hizmet, önceki etkin nesnenin adına yeni etkin nesne ile görüntülenmiş tüm özel menüleri ve araç çubuklarını değiştirir. Yeni nesne odağı kaybederse veya iç içe yerleştirilmiş bir nesne odağı alırsa, bu menüler ve araç çubukları kaldırılır.