OLE 元件可以實作介面,而不實作介面中每個方法的所有語意,而是視需要傳回E_NOTIMPL或S_OK。 下表描述 ActiveX 控制項容器不需要實作 (的方法,也就是控制項容器可以傳回E_NOTIMPL) 。
下表描述選擇性方法;請注意,方法必須仍然存在,但可以直接傳回E_NOTIMPL,而不是實作實際的語意。 請注意,下列未列出的強制介面中的任何方法都必須視為必要方法,而且可能不會傳回E_NOTIMPL。
IOleClientSite
| 方法 | 註解 |
|---|---|
|
SaveObject |
需要持續性才能成功支援。 |
|
GetMoniker |
只有在容器支援連結至本身表單或檔內的控制項時,才必要。 |
IOleInPlaceSite
| 方法 | 註解 |
|---|---|
|
CoNtextSensitiveHelp |
選擇性 |
|
Scroll |
可能會傳回沒有動作的S_FALSE。 |
|
DiscardUndoState |
可以傳回沒有動作的S_OK。 |
|
DeactivateAndUndo |
停用是必要的;復原是選擇性的。 |
IOleControlSite
| 方法 | 註解 |
|---|---|
|
GetExtendedControl |
支援擴充控制項之容器的必要專案。 |
|
ShowPropertyFrame |
除了控制項所提供的屬性頁之外,容器還需要包含自己的屬性頁來處理擴充控制項屬性。 |
|
TranslateAccelerator |
可能會傳回沒有動作的S_FALSE。 |
|
LockInPlaceActive |
選擇性 |
環境屬性 (IDispatch)
| 方法 | 註解 |
|---|---|
| GetTypeInfoCount |
支援非標準環境屬性的容器是必要的。 |
| GetTypeInfo |
支援非標準環境屬性的容器是必要的。 |
| GetIDsOfNames |
支援非標準環境屬性的容器是必要的。 |
IDispatch (事件接收)
| 方法 | 註解 |
|---|---|
| GetTypeInfoCount |
控制項知道自己的類型資訊,因此不需要呼叫此資訊。 |
| GetTypeInfo |
控制項知道自己的類型資訊,因此不需要呼叫此資訊。 |
| GetIDsOfNames |
控制項知道自己的類型資訊,因此不需要呼叫此資訊。 |
IOleInPlaceFrame
| 方法 | 註解 |
|---|---|
|
CoNtextSensitiveHelp |
|
|
GetBorder |
具有工具列 UI 的容器 (,這是選擇性) |
|
RequestBorderSpace |
具有工具列 UI 的容器 (,這是選擇性) |
|
SetBorderSpace |
具有工具列 UI 的容器 (,這是選擇性) |
|
InsertMenus |
具有功能表 UI (的容器是必要的,這是選擇性的) |
|
SetMenu |
具有功能表 UI (的容器是必要的,這是選擇性的) |
|
RemoveMenus |
具有功能表 UI (的容器是必要的,這是選擇性的) |
|
SetStatusText |
僅適用于具有狀態行的容器 |
|
EnableModeless |
選擇性 |
|
TranslateAccelerator |
選擇性 |
IOleContainer
| 方法 | 註解 |
|---|---|
|
ParseDisplayName |
只有在支援連結至控制項或其他容器內嵌時,才支援,因為這是 Moniker 系結的必要專案。 |
|
LockContainer |
針對 ParseDisplayName |
|
EnumObjects |
透過具有 IEnumUnknown的列舉值傳回所有 ActiveX 控制項,但不一定所有物件都 (,因為不保證所有物件都是 ActiveX 控制項;有些可能是一般 Windows 控制項) 。 |