轉(zhuǎn)自: http://hi.baidu.com/jenfmo/blog/item/b000c50a7acb8e3ab1351dfd.html
前言
ActiveX控件是一種實(shí)現(xiàn)了一系列特定接口而使其在使用和外觀上更象一個(gè)控件的COM組件。ActiveX控件這種技術(shù)涉及到了幾乎所有的COM和OLE的技術(shù)精華,如可鏈接對(duì)象、統(tǒng)一數(shù)據(jù)傳輸、OLE文檔、屬性頁(yè)、永久存儲(chǔ)以及OLE自動(dòng)化等。
ActiveX控件作為基本的界面單元,必須擁有自己的屬性和方法以適合不同特點(diǎn)的程序和向包容器程序提供功能服務(wù),其屬性和方法均由自動(dòng)化服務(wù)的IDispatch接口來(lái)支持。除了屬性和方法外,ActiveX控件還具有區(qū)別于自動(dòng)化服務(wù)的一種特性--事件。事件指的是從控件發(fā)送給其包容程序的一種通知。與窗口控件通過(guò)發(fā)送消息通知其擁有者類似,ActiveX控件是通過(guò)觸發(fā)事件來(lái)通知其包容器的。事件的觸發(fā)通常是通過(guò)控件包容器提供的IDispatch接口來(lái)調(diào)用自動(dòng)化對(duì)象的方法來(lái)實(shí)現(xiàn)的。在設(shè)計(jì)ActiveX控件時(shí)就應(yīng)當(dāng)考慮控件可能會(huì)發(fā)生哪些事件以及包容器程序?qū)?huì)對(duì)其中的哪些事件感興趣并將這些事件包含進(jìn)來(lái)。與自動(dòng)化服務(wù)不同,ActiveX控件的方法、屬性和事件均有自定義(custom)和庫(kù)存(stock)兩種不同的類型。自定義的方法和屬性也就是是普通的自動(dòng)化方法和屬性,自定義事件則是自己選取名字和Dispatch ID的事件。而所謂的庫(kù)存方法、屬性和事件則是使用了ActiveX控件規(guī)定了名字和Dispatch ID的"標(biāo)準(zhǔn)"方法、屬性和事件。
ActiveX控件可以使COM組件從外觀和使用上能與普通的窗口控件一樣,而且還提供了類似于設(shè)置Windows標(biāo)準(zhǔn)控件屬性的屬性頁(yè),使其能夠在包容器程序的設(shè)計(jì)階段對(duì)ActiveX控件的屬性進(jìn)行可視化設(shè)置。ActiveX控件提供的這些功能使得對(duì)其的使用將是非常方便的。本文下面即以MFC為工具對(duì)ActiveX控件的開(kāi)發(fā)進(jìn)行介紹。
posted on 2008-06-11 00:58
幽幽 閱讀(614)
評(píng)論(0) 編輯 收藏 引用