翻譯|其它|編輯:郝浩|2006-06-23 16:57:00.000|閱讀 2179 次
概述:
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
表 2 到 7 描述在容器支持的接口中存在的方法。
表 2. IOleClientSite 接口中的方法 | ||
IOleClientSite 方法 | 說明 | 注意 |
保存嵌入對象 | 忽略該方法,因為容器不支持控件持久性。 | |
請求對象的名字對象 | 不支持該方法。其實現是獨立的,不會向外部客戶端提供任何 COM 接口。 | |
請求指向對象容器的指針 | 支持該方法。 | |
讓容器顯示對象 | 支持該方法。 | |
通知容器,對象何時可見或不可見 | 忽略該方法。 | |
讓容器調整顯示站點的大小 | 不支持該方法。 |
表 3. IOleWindow 接口中的方法 | ||
IOleWindow 方法 | 說明 | 注釋 |
獲得窗口句柄 | 支持該方法。 | |
控制對上下文敏感幫助的啟用 | 忽略該方法。容器不實現幫助支持。 |
表 4. IOleInPlaceSite 接口中的方法 | ||
IOleInPlaceSite 方法 | 說明 | 注釋 |
確定容器是否可以就地激活對象 | 該方法返回 true。 | |
通知容器正在就地激活它的一個對象 | 使用該方法激活對象。 | |
通知容器,將就地激活對象,主菜單將由復合菜單替換 | 支持該方法。 | |
使就緒對象能夠檢索構成窗口對象層次結構的窗口接口,以及對象的就地激活窗口應該放置的父窗口中的位置 | 支持該方法。 | |
指定容器要滾動對象的像素數 | 不支持該方法。 | |
通知容器重新安裝其用戶界面并獲得焦點 | 支持該方法。 | |
通知容器不再就地激活對象 | 支持該方法。 | |
指導容器放棄其撤消狀態 | 忽略該方法。容器將不會跟蹤撤消狀態。 | |
停用對象,并將其恢復為撤消狀態 | 忽略該方法。容器將不會跟蹤撤消狀態 | |
通知容器,對象的范圍已更改 | 支持該方法。 |
表 5. IOleControlSite 接口中的方法 | ||
IOleControlSite 方法 | 說明 | 注釋 |
通知容器,控件的 CONTROLINFO 結構已經更改,容器應該調用控件的 IOleControl::GetControlInfo 方法進行更新 | 忽略該方法,因為容器沒有鍵盤支持。如果容器支持鍵盤操作,您可能已經從 CONTROLINFO 結構中抽取鍵盤快捷鍵表。 | |
指示該控件是否應該保持就地激活,而不考慮可能的停用事件 | 不支持該方法。 | |
請求一個指向擴展控件的 IDispatch 指針,容器使用該控件包裝實際的控件 | 忽略該方法。它始終返回 NULL,因為您不會使用調度接口與容器通信。 | |
在用 HIMETRIC 單位(它是對象鏈接與嵌入 [OLE] 中的標準)表示的 POINTL 結構和用容器指定的單位表示的 POINTF 結構之間進行轉換 | 忽略該方法。該容器僅支持 MM_TEXT。 | |
指導容器處理指定的擊鍵 | 支持該方法。 | |
指示該控件站點中的嵌入式控件是獲得了還是丟失了焦點 | 忽略該方法。 | |
指導容器為該站點中嵌入的控件顯示屬性表 | 不支持該方法。 |
表 6. IOleInPlaceUIWindow 接口中的方法 | ||
IOleInPlaceUIWindow 方法 | 說明 | 注釋 |
返回一個 RECT 結構,對象可以在就地激活時將工具欄和類似的控件放在其中 | 不支持該方法。其實現沒有額外的 UI 元素,即只是控件本身。 | |
確定在對象就地激活時,是否有可用的空間將工具安裝在對象窗口框架的周圍 | 不支持該方法。 | |
為請求的邊界分配空間 | 不支持該方法。 | |
提供對象與每個框架和文檔窗口之間的直接通信信道 | 支持該方法。 |
表 7. IOleInPlaceFrame 接口中的方法 | ||
IOleInPlaceFrame 方法 | 說明 | 注釋 |
允許容器插入菜單 | 不支持該方法。 | |
向窗口框架添加一個復合菜單 | 不支持該方法。 | |
刪除一個容器的菜單元素 | 不支持該方法。 | |
設置并顯示有關容器框架窗口狀態行中就緒對象的狀態文本 | 不支持該方法。 | |
啟用或禁用無模式對話框 | 不支持該方法。 | |
轉換擊鍵 | 不支持該方法。 |
與控件交互
盡管文檔聲明,可以擁有一個只實現 IUnknown 派生的接口的控件,但實際上控件還可以實現其他一些功能。例如,因為編寫 ActiveX 控件的主要目標是讓自動化客戶端可使用它們,這些自動化客戶端如 Microsoft Internet Explorer 和 Microsoft Visual Basic(及其移動設備上的對應產品:eMbedded Visual Basic 和 Internet Explorer Mobile),所以市場上幾乎任何一種控件都支持 IDispatch 接口和調度事件接口。如果控件具有某種 UI,它還公開 IOleControl 和 IOleInPlaceObject(帶有繼承的接口)。
其他控件還支持 IPersistStream 接口和其他 IPersistxxx 接口。這些接口用于填充控件屬性的初始值,并且對 Visual Basic 中的設計器支持很有幫助。本文不對該主題進行介紹,因為 Visual Studio 中設計器支持的工作方式完全不同。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn