Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W poprzednich sekcjach opisano niektóre niezbędne wsparcie po stronie klienta, które musi mieć kontrolka ActiveX, aby uzyskać dostęp do niektórych funkcji kontenera. W poniższej tabeli opisano użycie interfejsów po stronie kontenera przez kontrolki oraz momenty, kiedy takie użycie wystąpi.
| Interfejs | Obiekt kontenerowy | Użytkowanie |
|---|---|---|
|
IOleClientSite |
Miejsce |
Kontrolki implementujące metody IOleObject wywołania metody IOleClientSite w ramach standardowego protokołu osadzania OLE, w szczególności metody SaveObject, ShowObject, OnShowWindow (tylko wtedy, gdy jest obsługiwany stan aktywacji oddzielnego okna), RequestNewObjectLayouti GetContainer (jeśli pożądana jest komunikacja z innymi kontrolkami). Metoda GetMoniker jest używana tylko wtedy, gdy kontrolka może być połączona zewnętrznie, czyli kontrolka nie jest oznaczona OLEMISC_CANTLINKINSIDE. |
|
IOleInPlaceSite |
Miejsce |
Kontrolki, które mają aktywację w miejscu i prawdopodobnie aktywny stan interfejsu użytkownika, będą wywoływać metody IOleInPlaceSite (zazwyczaj wszystkie oprócz ContextSensitiveHelp) w ramach standardowego protokołu aktywacji OLE w miejscu. |
|
IAdviseSink |
Miejsce |
Kontrolka wywołuje OnDataChange, jeśli kontrolka obsługuje IDataObject, OnViewChange, jeśli kontrolka obsługuje IViewObject2, a także OnClose, OnSavei OnRename, jeśli kontrolka obsługuje IOleObject. |
|
IOleControlSite |
Miejsce |
Jeśli jest to obsługiwane, kontrolka wywołuje OnControlInfoChanged, gdy zmieniają się mnemoniki. Wywołuje także LockInPlaceActive i TransformCoords, jeśli wyzwalane są zdarzenia (przy czym ta ostatnia metoda jest używana tylko wtedy, gdy współrzędne są przekazywane jako argumenty zdarzenia). Ponadto, wywoływane są OnFocus i TranslateAccelerator przy aktywnym stanie interfejsu użytkownika kontrolki oraz GetExtendedControl, gdy kontrolka chce odwołać się do właściwości rozszerzonej kontroli (należącej do kontenera). |
|
IDispatch (właściwości otoczenia) |
Miejsce |
Służy do uzyskiwania dostępu do właściwości otoczenia. |
|
IPropertyNotifySink |
Różni się |
Kontrolka musi generować OnChanged i OnRequestEdit dla wszystkich właściwości kontrolek oznaczonych jako [wiążące] i [żądanie], odpowiednio. |
| Inne interfejsy odbiorników zdarzeń |
Różni się |
Kontrolka, która ma interfejsy wychodzące inne niż IPropertyNotifySink, zostanie przekazana innym wskaźnikom interfejsu poprawnego identyfikatora IID do kontrolki IConnectionPoint::Doradca implementacji (które są zwykle znajdowane w podrzędnych obiektach kontrolki). Kontrolka zawsze wie, jak wywoływać własne interfejsy zdarzeń, ponieważ kontrolka definiuje te interfejsy. |
|
IOleInPlaceFrame |
Ramka |
Używany, gdy kontrolka ma stan aktywnego interfejsu użytkownika w miejscu, który wymaga narzędzi lub elementów menu na poziomie ramki. |
|
IOleInPlaceUIWindow |
Dokument |
Używane tylko wtedy, gdy kontrolka ma bezpośredni aktywny stan interfejsu użytkownika, który wymaga narzędzi interfejsu użytkownika na poziomie dokumentu lub okienka. Jest to rzadkie. |