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 poniższej tabeli wymieniono interfejsy kontenera kontrolek ActiveX i wskazuje, które interfejsy są opcjonalne i które są obowiązkowe i muszą być implementowane przez kontenery kontrolek.
| Interfejs | Wymagane? | Komentarze |
|---|---|---|
|
IOleClientSite |
Tak |
|
|
IAdviseSink |
Nie |
Tylko wtedy, gdy kontener chce (a) powiadomienia o zmianie danych (kontrolki z IDataObject), (b) powiadomienie o zmianie widoku (kontrolki, które nie są aktywne i mają IViewObject lub IViewObject2), i (c) inne powiadomienia z kontrolek działających jako standardowe obiekty osadzone. |
|
IOleInPlaceSite |
Tak |
|
|
IOleControlSite |
Tak |
|
|
IOleInPlaceFrame |
Tak |
|
|
I IOleContainer |
Tak |
Zobacz notatkę 1 |
|
IDispatch dla właściwości otoczenia |
Tak |
Zobacz uwagi 2 i właściwości otoczenia , aby kontrolować |
| Kontrolowanie zestawów zdarzeń |
Tak |
Zobacz notatkę 2 |
|
ISimpleFrameSite |
Nie |
ISimpleFrameSite i obsługa zagnieżdżonych prostych ramek jest opcjonalna. |
|
IPropertyNotifySink |
Nie |
Wymagane tylko dla kontenerów, które (a) mają własny interfejs użytkownika do edycji właściwości, co wymaga aktualizacji za każdym razem, gdy kontrolka zmieniła samą właściwość lub (b) chce kontrolować [zażądać] zmiany właściwości i inne takie funkcje powiązania danych. |
|
IErrorInfo |
Tak |
Obowiązkowe, jeśli kontener obsługuje dwa interfejsy. Zobacz notatkę 2. |
|
IClassFactory2 |
Nie |
Zdecydowanie zaleca się obsługę. |
- IOleContainer jest implementowany na dokumencie lub obiekcie formularza (lub odpowiednim analogiem), który przechowuje witryny kontenerów. Kontrolki używają IOleContainer, aby przejść do innych kontrolek w tym samym dokumencie lub formularzu.
- Obsługa podwójnych interfejsów nie jest obowiązkowa, ale jest zdecydowanie zalecana. Pisanie kontenerów kontrolek ActiveX w celu korzystania z podwójnych interfejsów zapewni lepszą wydajność za pomocą kontrolek, które oferują obsługę dwóch interfejsów.
Kontenery kontrolek ActiveX muszą obsługiwać wyjątki automatyzacji OLE. Jeśli kontener sterowania obsługuje podwójne interfejsy, musi przechwytywać wyjątki automatyzacji za pomocą IErrorInfo.