找回密码
 注册

QQ登录

只需一步,快速开始

搜索

VC++6.0编写大屏七段数码时钟程序 纯代码绘制七段笔画 源码

[复制链接]
Jonsa 发表于 2022-5-12 18:15:53 | 显示全部楼层 |阅读模式
Visual C++ 6.0编写的一个大屏七段LED数码时钟,纯代码绘制七段笔画,使用定时函数读取系统时间,再以七段数码管的形式显示在屏幕上,字体颜色可变,背景颜色可调节。
完整源码 LEDClock.zip (6.54 MB, 售价: 3 E币)

2.png 1.png

部分源码:完整源码见附件
  1. /绘画数码管分,通过ADD Member Function...添加
  2. void CDigitalClock::DrawMinute()
  3. {
  4.         int nLeft=m_nXmargin+3*m_nWidth+m_nSpace;
  5.         if (m_nMinute<10)
  6.         {
  7.                 DrawSingleNumber(0,nLeft);
  8.                 nLeft+=m_nWidth+m_nSpace;
  9.                 DrawSingleNumber(m_nMinute,nLeft);
  10.         }
  11.         else
  12.         {
  13.                 TCHAR c[10]={0};               
  14.                 _itoa(m_nMinute,c,10);               
  15.                 int num1=c[0]-48;
  16.                 int num2=c[1]-48;
  17.                 DrawSingleNumber(num1,nLeft);
  18.                 nLeft+=m_nWidth+m_nSpace;
  19.                 DrawSingleNumber(num2,nLeft);               
  20.         }
  21.         nLeft+=m_nWidth;
  22.         Draw2Dot(nLeft);
  23. }
  24. //绘画数码管秒,通过ADD Member Function...添加
  25. void CDigitalClock::DrawSecond()
  26. {
  27.         int nLeft=m_nXmargin+6*m_nWidth+2*m_nSpace;
  28.         if (m_nSecond<10)
  29.         {
  30.                 DrawSingleNumber(0,nLeft);
  31.         //        nLeft+=(int)(1.4*m_nWidth);
  32.                 nLeft+=m_nWidth+m_nSpace;
  33.                 DrawSingleNumber(m_nSecond,nLeft);
  34.         }
  35.         else
  36.         {
  37.                 TCHAR *c=new TCHAR[10];
  38.                 _itoa(m_nSecond,c,10);
  39.                 int num1=c[0]-48;
  40.                 int num2=c[1]-48;
  41.                 DrawSingleNumber(num1,nLeft);
  42.                 nLeft+=m_nWidth+m_nSpace;
  43.                 DrawSingleNumber(num2,nLeft);        
  44.         }
  45. }

  46.   //绘画数码管时,通过ADD Member Function...添加
  47. void CDigitalClock::DrawHour()
  48. {
  49.         int nLeft=m_nXmargin;
  50.         if (m_nHour<10)
  51.         {
  52.                 DrawSingleNumber(0,nLeft);
  53.                 nLeft+=m_nWidth+m_nSpace;
  54.                 DrawSingleNumber(m_nHour,nLeft);
  55.         }
  56.         else
  57.         {
  58.                 TCHAR *c=new TCHAR[10];
  59.                 _itoa(m_nHour,c,10);
  60.                 int num1=c[0]-48;
  61.                 int num2=c[1]-48;
  62.                 DrawSingleNumber(num1,nLeft);
  63.                 nLeft+=m_nWidth+m_nSpace;
  64.                 DrawSingleNumber(num2,nLeft);
  65.         }
  66.         nLeft+=m_nWidth;
  67.         Draw2Dot(nLeft);
  68. }
复制代码

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-4-25 14:47

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表