共用方式為


視覺表示法

控件支援透過複合文件技術和 OLE 拖放技術在其容器內定位和顯示本身,而此技術牽涉到控件及其容器。 當容器管理控制件的位置及其大小時,控制項必須能夠繪製本身。

控件會新增至 OLE 檔所提供的基本函式。 控件會呼叫其用戶端的 IOleClientSite::RequestNewObjectLayout 方法,告知其容器想要變更其大小。 用戶端會呼叫控件的 IOleObject::GetExtent 以取得新的大小,並呼叫 IOleInPlaceObject::SetObjectRects,將控件設定為新的大小。

支援 IPersistStream 或 IPersistStreamInit 的控件不支援透過 IOleCache2 進行快取,因為快取需要支援 IPersist 儲存體。 不過,這些控件應該為用戶端提供一種方式,讓用戶端透過 IDataObject::GetData譯控件,讓用戶端可以選擇性地建立及管理控件的簡報數據快取。

控件會針對其座標使用 HIMETRIC 類型。 不過,不同的容器可以使用不同的座標系統。 容器想要在自己的系統中接收座標,但控件不一定知道其容器所使用的座標。 若要成功通訊,控件需要一種方式,才能將值轉換成其容器的座標。 容器會使用 IOleControlSite::TransformCoords 方法提供月台物件。 控件會先在其容器的用戶端網站上呼叫這個方法,將其座標轉換成容器的適當座標。 然後,它可以將轉換的座標傳遞至容器。

控件可以在容器的月台物件中呼叫 IOleControlSite::LockInPlaceActive ,以防止容器嘗試將控件降級為就地使用中狀態。 以這種方式降級控件會導致控件停用並終結其視窗,因此如果控件必須在其已知持續時間內維護其視窗,則可以呼叫 LockInPlaceActive 來保證其狀態。

ActiveX 控制項