电子式时钟

2016-01-29 12:08 16 1 收藏

电子式时钟,电子式时钟

【 tulaoshi.com - C语言心得技巧 】

电子式时钟

作者:李宏亮

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)

下载源代码
 
   看了VC知识库《在线杂志》第27期的“电子八段管的仿真”,确实不错,但失真严重。认识咱们知识库这么久,学了不少东西,我也该作点"贡献"了,于是自己动手也写一个。本文的示例程序界面如图一所示:


图一

程序说明

  首先建立一个基于对话框的工程,导入数码位图资源,直接在对话框类CMy2Dlg中添加类mytime
程序中的mytime类主要提供两个函数接口:一个是set()用来设置显示位置;一个是myfun()用来设置显示数字来显示。

class mytime{public:int change(char);mytime();~mytime();CString m_time;void myfun(CString temp);//显示数字字符串void set(CDialog *,int tnum,int tx,int ty,int tspace);//设置显示位置CStatic *m_pictur[20];// 静态图 指针 数组int num;// 静态图个数int x;// 起始X坐标int y;// 起始Y坐标int space;// 各数码之间 间距}; 
主要成员函数set()和myfun():
void mytime::myfun(CString temp){m_time=temp;int mynum=m_time.GetLength();for(int k=0;k<num-mynum;k++)//添加前面空图标显示{CImageList m_imgList;m_imgList.Create(IDB_BITMAP1,12, 1, RGB(255,255,255));//创建位图链 每个位图12像素HICON myico= m_imgList.ExtractIcon(10);//取出图标m_pictur[k]-SetIcon(myico);//设置显示的图标}for(int i=k;i<num;i++)//添加数字图标显示{CImageList m_imgList;m_imgList.Create(IDB_BITMAP1,12, 1, RGB(255,255,255));HICON myico= m_imgList.ExtractIcon(change(m_time[i-k]));m_pictur[i]-SetIcon(myico);}}
void mytime::set(CDialog *parent,int tnum,int tx,int ty,int tspace){CMy2Dlg *mypar=(CMy2Dlg*)parent;for(int i=0;i<num;i++)// 删除以前分配的delete *(m_pictur+i);// 设置各成员变量num=tnum; x=tx;y=ty;space=tspace;for(int j=0;j<num;j++)//重新分配  m_pictur[j]=new(CStatic);for(int k=0;k<num;k++){//确定显示位置CRect aa1(x+k*(space+12),y,40+x+k*(space+12),40+y);m_pictur[k]-Create(NULL,SS_ICON,aa1,mypar,1);// 创建静态图标控件m_pictur[k]-ShowWindow(true);}}   
  然后在CMy2Dlg类中加入CMy2Dlg::OnTimer()消息响应函数以实现时钟功能,其它具体代码看源码内有详细说明。
程序中难免有不足和BUG,欢迎指正。

来源:https://www.tulaoshi.com/n/20160129/1484755.html

延伸阅读
#ACAATO-TM33HT烤仆小智电子式烤箱之烧烤茄子#正宗做法/图解/步骤: 1 小葱洗净,葱白葱绿分别切碎; 2 把辅料里的调料全部调到一个碗里,葱绿只放一半; 3 茄子洗净去蒂,切成薄片...
花生曲奇-ACAATO-TM33HT烤仆小智电子式烤箱试用正宗做法/图解/步骤: 1 黄油室温软化后加糖粉,打至发白蓬松。 2 分3次加入蛋液,打匀。 3 筛入低粉、泡打粉拌匀后加花生碎,拌匀。 ...
干桂圆剥出桂圆肉,用清水浸泡几分钟,稍稍变软,然后沥干水分切碎; 低筋面粉126g,泡打粉4g称量后,过筛; ...
  小弟之做,希望大家指教。QQ:51738793 #includemath.h #includedos.h #includegraphics.h #define CENTERX 320 #define CENTERY 175 #define CLICK 100 #define CLICKDELAY 30 #define HEBEEP 10000 #define LOWBEEP 500 #define BEEPDELAY 200int Mrk_1[8]={-5,-160,5,-160,5,-130,-5,-130, }...
了解Linux的时钟 由于Linux时钟和Windows时钟从概念的分类、使用到设置都有很大的不同,所以,搞清楚Linux时钟的工作方式与设置操作,不仅对于Linux初学者有着重大意义,而且对于使用Linux服务器的用户来说尤为重要。 Linux时钟的分类 Windows时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置...

经验教程

471

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部