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