Menggunakan Fungsionalitas Kontainer

Bagian sebelumnya telah menjelaskan beberapa dukungan sisi pemanggil yang diperlukan yang harus dimiliki kontrol ActiveX untuk mengakses fitur tertentu dari kontainernya. Tabel berikut menjelaskan penggunaan kontrol antarmuka sisi kontainer dan kapan penggunaan tersebut akan terjadi.

Antarmuka Objek Kontainer Penggunaan
IOleClientSite
Site
Kontrol yang menerapkan metode IOleObject call IOleClientSite sebagai bagian dari protokol penyematan OLE standar, khususnya metode SaveObject, ShowObject, OnShowWindow (hanya jika status aktivasi jendela terpisah didukung), RequestNewObjectLayout, dan GetContainer (jika komunikasi dengan kontrol lain diinginkan). Metode GetMoniker hanya digunakan ketika kontrol dapat ditautkan ke secara eksternal, yaitu, kontrol tidak ditandai dengan OLEMISC_CANTLINKINSIDE.
Situs IOleInPlaceSite
Site
Kontrol yang mengaktifkan di tempat dan mungkin status aktif UI akan memanggil metode IOleInPlaceSite (umumnya semuanya dengan pengecualian ContextSensitiveHelp) sebagai bagian dari protokol aktivasi OLE di tempat standar.
IAdviseSink
Site
Kontrol panggilan OnDataChange jika kontrol mendukung IDataObject, OnViewChange jika kontrol mendukung IViewObject2, dan OnClose, OnSave, dan OnRename jika kontrol mendukung IOleObject.
IOleControlSite
Site
Jika didukung, kontrol memanggil OnControlInfoChanged saat mnemonics berubah, LockInPlaceActive dan TransformCoords jika peristiwa diaktifkan (metode terakhir hanya digunakan jika koordinat diteruskan sebagai argumen peristiwa), OnFocus dan TranslateAccelerator jika kontrol memiliki status aktif UI, dan GetExtendedControl jika kontrol ingin melihat properti extended-control (milik kontainer).
IDispatch (properti sekitar)
Site
Digunakan untuk mengakses properti sekitar.
IPropertyNotifySink
Bervariasi
Kontrol harus menghasilkan OnChanged dan OnRequestEdit untuk properti kontrol apa pun yang masing-masing ditandai sebagai [dapat diikat] dan [permintaan].
Antarmuka sink peristiwa lainnya
Bervariasi
Kontrol yang memiliki antarmuka keluar selain IPropertyNotifySink akan diserahkan penunjuk antarmuka lain dari IID yang benar ke I Koneksi ionPoint::Sarankan implementasi kontrol (yang biasanya ditemukan di sub-objek kontrol). Kontrol selalu tahu cara memanggil antarmuka peristiwanya sendiri karena kontrol menentukan antarmuka tersebut.
IOleInPlaceFrame
Menengah
Digunakan saat kontrol memiliki status aktif UI di tempat yang memerlukan alat tingkat bingkai atau item menu.
IOleInPlaceUIWindow
Dokumen
Digunakan hanya saat kontrol memiliki status aktif UI di tempat yang memerlukan alat UI tingkat dokumen atau tingkat panel. Ini jarang terjadi.

Kontrol