工控编程吧
标题:
386上位机VC MFC编写七段码计时器
[打印本页]
作者:
qq263946146
时间:
2016-9-16 11:03
标题:
386上位机VC MFC编写七段码计时器
(, 下载次数: 2)
上传
点击文件名下载附件
编写七段码计时器
功能展示
秒表大家都有用过,上面的七段码计时可以非常直观的显示时间段,我们当前例程也实现七段码计时功能,效果如图,在例程空白处点鼠标右键会弹出开始,停止按钮,可对计时器进行操作
要点提示
例程是通过GDI+加载PNG图片实现,功能全部封装在自定义类CClockStatic中。类中仅有三个对外成员函数。在使用此类时先将此类及一静态文本控件关联,调用InitPicture()传入PNG图片ID初始化类中的图片ID变量以便显示时钟图片,随后就可以调用类的Start()或Stop()进行七段码时钟的开始停止操作;
另外注意一点的是在编写CClockStatic类时,例程屏蔽一了代码//#define new DEBUG_NEW,这是编译器的一缺陷,不然GDI+的Bitmap类不能用new关键字赋值;
实现功能
1.新建基于对话框的应用程序 ;
2.复制例程目录的ClockStatic.cpp,ClockStatic.h及res目录的图片到自己工程根目录,并加载到工程中,图片ID注意顺序分别为IDR_PNG_ACROSS,IDR_PNG_BIG,IDR_PNG_MIN,IDR_PNG_PANE,IDR_PNG_POINTIDR_PNG_SMALL,IDR_PNG_WEEK。在主对话框资源中添加一静态文本控件,修改其ID;
3.将控件关联一控件类型变量 CClockStatic m_ClockStatic;并在程序初始化时初始化变量的图片ID
unsigned int nPicID[7]; //注意顺序
nPicID[0] = IDR_PNG_PANE;
nPicID[1] = IDR_PNG_BIG;
nPicID[2] = IDR_PNG_SMALL;
nPicID[3] = IDR_PNG_MIN;
nPicID[4] = IDR_PNG_POINT;
nPicID[5] = IDR_PNG_WEEK;
nPicID[6] = IDR_PNG_ACROSS;
m_ClockStatic.InitPicture(nPicID);
4.这后就可调用m_ClockStatic.Start(); m_ClockStatic.Stop();控件计时器启停
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/ec89669deb924463978a33ad13acbd01/0/0/w_19rswnro51.swf-albumId=6292000409-tvId=6292000409-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件 [weixinlianxi]1[/weixinlianxi]
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4