- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ActiveX控件解读
添加自定义事件的操作是在类视图中右击ActiveX 控件类,比如在此例中就是Caxtivexdemo1Ctrl。在菜单中选择添加事件,打开添加事件向导。定义一个叫做MyEvent的事件,事件可以带参数,比如我们加个BSTR( Basic STRing, COM/OLE中定义的语言无关的标准字符串数据类型, 类似于WCHAR*)的参数msg。 选中类视图中的控件类,即Cactivexdemo1Ctrl,下面也会出现一个MyEvent函数。双击这个MyEvent可以看到定义代码如下: void MyEvent(BSTR? msg) { FireEvent(eventidMyEvent, EVENT_PARAM(VTS_PI1), msg); } 这里的这个MyEvent(BSTR msg)函数就是用于触发MyEvent事件用的,什么意思呢,就是说当在控件中需要触发自定义的这个MyEvent的时候调用这个MyEvent(BSTR msg)就可以了。 下面结合例子看看是怎么回事。 比如说我们希望用户鼠标双击左键的时候触发这个事件,就这么来作。选中类视图中的控件类,即Cactivexdemo1Ctrl,然后在消息窗口中找到WM_LBUTTONDBCLK,添加这个消息的处理函数。 在消息处理函数中如下修改: void Cactivexdemo1Ctrl::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 MyEvent(_T(“HI, MyEvent.”)); COleControl::OnLButtonDblClk(nFlags, point); } 这样每次用户在双击控件的时候就会触发我们自定义的MyEvent事件了。 打开ActiveX控件测试容器,添加这个控件,然后双击控件,看消息框里出现什么了? 由于双击自然也就是两次单击,所以会同时出现两种事件。 activexdemo1 Control: MyEvent {msg=72} activexdemo1 Control: Click 2.方法(method) 方法就是控件开放给用户使用的一些功能函数,类似于C++的类函数。控件方法分两类,一类是常用方法,其实现由父类COleControl 提供。自定义方法由开发人员定义,由此向用户提供自定义的功能实现。 (1)常用方法 COleControl 支持两个常用方法:DoClick 和 Refresh。Refresh 由控件的用户调用,用以立即更新控件的外观;而调用 DoClick 是用于引发控件的 Click 事件。添加常用方法的操作是在类视图中打开库节点,在本例中就是activexdemo1Lib节点。选中第二个节点,也就是本例中的_Dactivexdemo1,在右键菜单中选择添加方法,打开添加方法向导。 在方法名中选择需要添加的常用方法。比如DoClick。然后在类视图中选中_Dactivexdemo1,就会在下面看到我们刚才添加的那个常用方法。同时,你也可以在这里看到有一个AboutBox方法,这是系统自动给我们添加进去的,功能是显示一个About窗口,这个窗口可以在项目的资源视图中的Dialog下找到并编辑。 同样也要验证一下这个新添加的方法。还是打开ActiveX控件测试容器,添加此控件,然后点击工具栏上的这个红色方框,也就是调用方法。在调用方法对窗口的方法名中选中我们刚添加的这个DoClick方法,然后点击调用。这个DoClick是要引发Click事件的,上面介绍事件的时候我们已经添加了Click这个常用事件了,那么现在调用DoClick也就是要引发我们在上面添加的这个Click事件了,于是在测试容器主窗口的消息框中出现了activexdemo1 Control: Click。 那么在开发环境中是什么效果呢?回到刚才那个测试项目里。我们先在窗体上添加一个按钮,就叫DoClick,等会用点击它的方式来调用DoClick方法。然后为了方便操作,我们先给刚才添加到对话框中的那个控件添加一个绑定的对象变量。鼠标右击控件选择添加变量。在添加成员变量向导中添加与此控件绑定的控件变量,比如叫做m_activexdemo。然后,双击刚才新加到窗体上的那个按钮,即添加这个按钮的鼠标点击事件函数中,如下添加一行代码,即调用控件的DoClick方法。 void CtestMFCDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 m_activexdemo.DoClick(); } 最后,编译运行测试程序,点击DoClick按钮,结果弹出Hi.对话框
您可能关注的文档
最近下载
- 2024年高空作业考试题库附答案5套(完整版).DOC
- 印刷类原辅料进料检验标准.pdf
- 部编人教版四年级上册《道德与法治》全册教学反思.pdf VIP
- 江苏省南通市2023-2024学年高一上学期语文期中考试试卷(含答案).pdf VIP
- 国家开放大学《中国近现代史纲要》社会实践报告.docx VIP
- 领读经典-现代文学(1)(山东大学)中国大学MOOC慕课 章节测验期末考试答案.docx
- 《幼儿挑食、偏食行为的原因分析及对策》开题报告(含提纲)5800字.doc
- 2022年贵州省高职(专科)分类招生中职生文化综合考试试卷(语数英、含答案).pdf
- 小学语文优秀教学案例.docx VIP
- 冬季血压早达标远离心脑血管疾病-高血压慢性病培训讲座课件PPT.pptx
文档评论(0)