activex控件中使用动态icon图标

activex控件中使用动态icon图标

ID:34721486

大小:147.68 KB

页数:11页

时间:2019-03-10

activex控件中使用动态icon图标_第1页
activex控件中使用动态icon图标_第2页
activex控件中使用动态icon图标_第3页
activex控件中使用动态icon图标_第4页
activex控件中使用动态icon图标_第5页
资源描述:

《activex控件中使用动态icon图标》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ActiveX控件中使用动态ICON图标最近接触到了ActiveX控件的开发,用来做工控上位机中的指示灯和数据显示功能,刚刚接触确实是一头雾水,接下来说一下控件要实现的功能:1、控件和普通按钮控件一样具有Click功能,用来做开关;2、ActiveX控件当点击时可以用图标来指示开关状态;3、空件上有动态图标用来表示设备运行的不同状态;4、数据显示,显示设备相关的参数。1、实现的过程:ActiveX控件控件的外观样式是通过voidxxxx::OnDraw(CDC*pdc,constCRect&rcBounds,constCRect&rcInvalid){……}函数实现,大部分工作都是

2、在这里面进行绘制,当然会涉及到很多GDI函数。初始化函数xxx::CWidgetCtrl(){…………}需要早初始化函数里面设置一些数据的初始值,控件的大小SetInitialSize(100,45);//设置控件初始尺寸大小接下来是为控件添加自定义的事件和方法,这个也很简单,在控件设计前先要把需要的ICON图标素材准备好。设计好的控件的样式如图把控件放在测试窗口OcxTest2、实现控件的源代码://WidgetCtrl.cpp:CWidgetCtrlActiveX控件类的实现。#include"stdafx.h"#include"Widget.h"#include"Widget

3、Ctrl.h"#include"WidgetPropPage.h"#ifdef_DEBUG#definenewDEBUG_NEW#endifHICONhIcon[6];//图标句柄intact_Lamps;//实际灯的数量intact_Power;//实际总功率intact_RatPower;//单灯额定功率CStringact_LightOn;//开灯时间intpmin,pmax;//最小最大额定功率值CStringCWidget;//需要显示的功率intlamps;//实际在线数量CStringsystime1;//系统时间CStringsystime2;//系统时间CTime

4、Spantimespan;//时间差CTimet1,t2;BOOLchanel;//开关标志CStringstate;BOOLchtime;IMPLEMENT_DYNCREATE(CWidgetCtrl,COleControl)//消息映射BEGIN_MESSAGE_MAP(CWidgetCtrl,COleControl)ON_OLEVERB(AFX_IDS_VERB_PROPERTIES,OnProperties)ON_WM_MOUSEMOVE()ON_WM_SETCURSOR()ON_WM_TIMER()END_MESSAGE_MAP()//调度映射BEGIN_DISPATCH

5、_MAP(CWidgetCtrl,COleControl)DISP_FUNCTION_ID(CWidgetCtrl,"AboutBox",DISPID_ABOUTBOX,AboutBox,VT_EMPTY,VTS_NONE)DISP_FUNCTION_ID(CWidgetCtrl,"SetWidget",dispidSetWidget,SetWidget,VT_EMPTY,VTS_BSTR)DISP_FUNCTION_ID(CWidgetCtrl,"SetLamps",dispidSetLamps,SetLamps,VT_EMPTY,VTS_BSTR)DISP_FUNCTION_I

6、D(CWidgetCtrl,"SetRetWidget",dispidSetRetWidget,SetRetWidget,VT_EMPTY,VTS_BSTR)DISP_FUNCTION_ID(CWidgetCtrl,"GetSwitch",dispidGetSwitch,GetSwitch,VT_BSTR,VTS_NONE)END_DISPATCH_MAP()//事件映射BEGIN_EVENT_MAP(CWidgetCtrl,COleControl)EVENT_STOCK_CLICK()END_EVENT_MAP()//属性页//TODO:按需要添加更多属性页。请记住增加计数!BE

7、GIN_PROPPAGEIDS(CWidgetCtrl,1)PROPPAGEID(CWidgetPropPage::guid)END_PROPPAGEIDS(CWidgetCtrl)//初始化类工厂和guidIMPLEMENT_OLECREATE_EX(CWidgetCtrl,"WIDGET.WidgetCtrl.1",0x2b526949,0xf154,0x4e9e,0xb6,0x40,0x89,0xfa,0x75,0x79,0xdd,0xc8)//键入库ID和版本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。