上一篇小编带大家熟悉了一下ActiveX的建立以及相关的概念,(http://blog.csdn.net/u014028070/article/details/38424611)
本文介绍下如何给控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作。
我们接着以之前的程序为例子。
如何添加标准属性
(1) 首先我们要清楚,一个控件的属性添加后,它就被添加在接口中,本文既在_DTest 中,我们打开类视图选项卡,打开_DTest,“右键”->“添加属性”,单击,出现如下图所示
(2) 属性名下拉列表中,将会看到出现在列表框中的属性,这些都是“标准属性“,我们选择两个属性为参考,BackColor和ForeColor,点击完成即可,我们会发现接口下面,出现了这两个属性。
(3) 要想让我们所选择属性的值显示在控件上,我们还需添加几行代码,在OnDraw()函数中,我们添加如下
(4) 在CTestCtrl源文件中(.cpp)找到如下的位置,并添加代码,此语句功能是增加属性页,其中PROPPAGEID(CLSID_CColorPropPage) 增加的是 颜色属性页,注意:我们已经增加了属性页了,所以我们要在此修改为数值 “2”
(5) 编译(F7),然后打开容器测试程序,添加我们的控件,此时我们要修改属性时,如下图,在容器测试程序中,“EDIT“->”属性“ 出现一个对话框。点击”颜色选型卡“,即可对颜色属性进行修改,确认即可显示。
如何添加自定义是属性
(1) 程序中定时器设置的是一秒刷新一下,我们可以通过添加自定义属性,来手动设置时间间隔,“接口_DTest“右键”->添加属性,在”属性名“中我们手动输名称”Interval“,此时变量名被自动设置为以”m_”打头的名字(本文中是m_interval),其中,属性名是在其他开发环境中属性的名称,而“变量名”是在VC开发环境下属性的成员变量。这一点要注意。
(2) 选择Member variable,类型为短整型short,点击确定,此时我们就添加了一个自定义属性。
(3) 接下来我们来使用已经定义好的属性,如下图,我们添加代码
(4) 此时我们可以再容器测试程序中测试,打开测试程序,添加控件,在“Control“->“invoke method”,我们在“方法名称“选择interval(propput),因为我们是要设置属性的值,所以选择put,输入想要的值,如下图,
(5) 到此我们看见,时间按我们设置的时间进行显示。
如何添加方法(相当于函数)
(1) 添加方法仍然是在“接口“选项中添加,我们在此简单的演示下,此时我们已经添加了一个方法 Hello,注意:在“接口_DTest“下出现我们添加的方法,如下图。
(2) 要知道,我们的所添加的方法,都要在CTestCtrl类中实现。所以我们在CTestCtr类中找到方法Hello,添加一个消息框,如下图。
(3) 我们在容器测试程序中调用方法Hello(),打开测试程序,添加我们的Test控件,
(4) 此时可以看到已经蹦出来一个消息框了。
如何添加事件
(1) 在CtestCtrl类上右键,添加事件(可以为该类添加一个事件),注意,事件的功能实现并不是由控件完成的而是由调用控件的程序完成的,
(2) 我们添加一个标准事件,“点击“事件
(3) 在此我们可以发现我们添加的事件,如下图。
(4) 我们仍然在容器测试程序中调用他,尽管我们没有写任何代码,但是我们已经添加了一个点击事件。首先先编译一下(F7)
(5) 我们点击控件,发现测试程序下面的消息框,出现如下字样,证明控件检测到我们点击了控件这个事件。
到此小编已经为大家通过简单的例子,来介绍如何添加事件,属性,方法的步骤以及一些概念,下一篇,我介绍下如何在自己写的程序中使用ActiveX控件。http://blog.csdn.net/u014028070/article/details/38424611点击打开链接