All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

 
visual c++中制作ActiveX控件的方法

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 22:38:59 Browse times: 306 Comment times: 0

visual c++中制作ActiveX控件的方法


Head photo

Go homepage
Upload pictures
Write articles

visual c++中制作ActiveX控件的方法

制作ActiveX控件的方法
1.创建一个ActiveX控件
与普通的应用程序一样,创建基本的ActiveX控件也可以利用VC++向导。创建ActiveX控件的方法如下:
(1)选择“File”/“New”菜单,在随后弹出的属性表中选择“Projects”页面,然后选择“MFC ActiveX ControlWizard”,并输入工程名称。单击“OK”按钮,进入“MFC ActiveX Contro l Wizard-Step1 of 2”对话框,如图1所示。

图1 MFC ActiveX ControlWizard-Step 1 of 2对话框
(2)单击“Next”按钮,进入“MFC ActiveX ControlWizard-Step 2 of 2”对话框,如图2所示。
图2 MFC ActiveX ControlWizard-Step 2 of 2对话框

(3)单击“Finish”按钮完成ActiveX控件框架的建立。
2.绘制AcitveX控件的窗口
当一个ActiveX控件的框架被建立后,ActiveX控件向导将为工程产生的类有:
一个COleControlModule的派生类,COleControlModule类是CWinApp类的派生类,该类用于初试化控件。
一个COleControl的派生类,该类代表了ActiveX控件,并实现AvitveX控件的属性、方法、事件的接口。
一个COlePropertyPage的派生类,这个类用于编辑ActiveX控件属性的默认属性页,就像通用控件那样。由向导生成的属性页只有一页,如果用户需要其他属性页需要添加。
在COleControl类中,有一个OnDraw()成员函数,可以使用这个函数对窗口进行重新绘制。
3.为控件添加属性
为控件添加属性需要借助ClassWizard,在ClassWizard的Automation页面中,选择支持ActiveX控件的接口类。再单击【Add Property】按钮,并在随后弹出的Add Property对话框中输入属性名、类型和访问方式,如图3所示。

图3 AddP roperty对话框
注意:在ActiveX控件中,所代表颜色的变量均为OLE_COLOR类型,读者可以使用TranslateColor函数将其转换成COLORREF类型;CString类型可以通过AllocSysString()函数转换成为ActiveX所需要的BSTR型字符串。
4.为控件添加方法
为ActiveX控件添加方法与添加属性的方法类似,也需要借助ClassWizard,在ClassWizard的Automation页面中,选择支持ActiveX控件的接口类。再单击“Add Method”按钮,在弹出的“Add Method”对话框中输入方法的名称、返回值和形参信息,如图4所示。ClassWizard会自动在COleControl派生类中生成实现与该方法相关的接口函数。
添加新方法
方法列表

图4 Add Method对话框
5.为控件添加事件
为ActiveX控件添加事件的方法也非常简单,在ClassWizard的ActiveX Events页面,单击此页面中的“Add Event”按钮就可以方便地为控件添加事件。
6.为AcitveX控件添加属性页
如上所述,ActiveX控件允许在程序编制时,使用户可视化地编辑控件属性,这是通过属性对话框来实现的。
ActiveX控件向导生成的控件程序框架只提供一个页面,怎样才能向ActiveX控件的属性对话框中添加属性页呢?
ActiveX控件属性对话框的页面分为两个种类:一种是固有的属性页,另外一种是用户自己定义的属性页。固有属性页也是系统定义的十分标准的属性页,不用程序员为属性页生成对话资源,也不用程序员添加一句代码,程序员只要直接使用就可以了。MFC提供的固有属性有3种,用于设定ActiveX控件颜色的颜色属性页,用于设定ActiveX控件字体的字体属性页和用于设置AvtiveX图形的图形属性页。用户自定义属性页需要程序员自己处理,程序员需要做以下工作:
(1)为属性页添加对话框资源、添加对话框中的各种控件。
(2)添加对话框类和处理各种控件和AcitveX控件属性之间的联系。
注意:与普通属性页不同的是,在ActiveX控件属性对话框中,每一个属性页对话框都对应的是COlePropertyPage类的派生类。





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.