七段数码管显示控件的制作与应用
日期:2008年5月28日 作者:-
七段数码管显示控件的制作与应用
烟台鲁宝钢管有限责任公司 马近科
--------------------------------------------------------------------------------
七段数码管在工业控制中有着很广泛的应用,例如用来显示温度、数量、重量、日期、时间,还可以用来显示比赛的比分等,具有显示醒目、直观的优点。笔者采用VC++6.0开发了七段数码管显示控件,用在支持ActiveX技术的软件系统中(如VB,VC,Excel等),取得了很好的效果。本文分为两部分,第一部分介绍如何用VC++开发七段数码管显示控件,第二部分用VB建立一个数字时钟,用例子来说明如何在VB6.0中使用该控件。
一、七段数码管显示控件的制作
1、原理:首先将数码管分为七段,如下图所示:
根据数码(0,1,2,3,4,5,6,7,8,9)来决定七段中的某一段或某几段进行绘制,例如如果数码为0,则显示0、1、2、3、4、5段;数码为1,则显示1、2段,依次类推。
2、运行AppWizard来生成SevenSegNum工程。通过从File菜单选择New,然后在Project选项卡上选定MFC ActiveX ControlWizard .命名工程名为SevenSegNum,接受其他默认设置。
3、使用ClassWizard(快捷键Ctrl+W)在CSevenSegNumCtrl类中重载OnDraw函数。在SevenSegNumCtrl.CPP文件中编辑如下所示代码:
void CSevenSegNumCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
//共七段,每段分为7个点,画7个封闭的多边形,表示7段的每一段
POINT p0[7],p1[7],p2[7],p3[7],p4[7],p5[7],p6[7];
int iLineWidth;//段的宽度
int iUnit=3;//将段的宽度分为3份,决定每段的起始和终止部分的斜线夹角
//取控件宽度和高度数值小的数值来决定段宽
if(rcBounds.Height() < rcBounds.Width()){
iLineWidth=rcBounds.Height()/10; //缺省段宽为控件宽度或高度的1/10
}
else{
iLineWidth=rcBounds.Width()/10;
}
//第零个段
p0[0].x=iLineWidth/iUnit;
p0[0].y=iLineWidth/iUnit;
p0[1].x=iLineWidth/iUnit*(iUnit-1);
p0[1].y=rcBounds.top;
p0[2].x=rcBounds.right - iLineWidth/iUnit*(iUnit-1);
p0[2].y=rcBounds.top;
p0[3].x=rcBounds.right - iLineWidth/iUnit;
p0[3].y=iLineWidth/iUnit;
p0[4].x=rcBounds.right - iLineWidth;
p0[4].y=iLineWidth;
p0[5].x=iLineWidth;
p0[5].y=iLineWidth;
p0[6].x=iLineWidth/iUnit;
p0[6].y=iLineWidth/iUnit;
//第一个段
p1[0].x=rcBounds.right - iLineWidth/iUnit;
p1[0].y=iLineWidth/iUnit*2;
p1[1].x=rcBounds.right ;
p1[1].y=iLineWidth/iUnit*3 ; - [1] [2] [3] [4] [5] [6] [7] [8] 下一页
-
- 七段数码管显示控件的制作与应用 相关文章:
- ·七情六欲为哪七情?哪六欲?
- ·七种流行的暧昧男女关系
- ·《七龙珠Z:武道会3》美版金手指(PS2) - 龙珠Z攻略秘籍 - 龙珠Z
- ·在Excel中将文本转换为数字的七种方法
- ·新东方俞敏洪寓言故事七则
- ·包青天之七侠五义 - 游戏攻略
- ·质量管理新七种工具简介(1)
- ·《七龙珠 舞空斗剧》攻略 - 龙珠Z攻略秘籍 - 龙珠Z
- ·七个王国2 流程攻略
- ·七种心碎的爱情错误
- 七段数码管显示控件的制作与应用 相关软件
- ·七龙珠Z天下第一武道大会3
- ·CS七龙珠-地面特战队(Earth's Special Forces) 简本中文版
- ·风云2之七武器
- ·七大奇迹2
- ·七龙珠大冒险
- ·AutoCAD七天超级速成法 V2.0实例
- ·七星魔法使简体中文版
- ·七大奇迹(7 Wonders) V1.0
- ·七龙珠-伟大的龙珠传说
- ·七龙珠Z
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:用VB 6.0编写电脑抽奖程序
下一篇:屏蔽CTRL+ALT+DEL键
精品推荐
热点TOP10
- ·VB+Access设计图书管理系统
- ·VB设计有语音报时和报警功能的闹钟
- ·VB中使用EXCEL输出
- ·窗体控件大小随窗体大小变化而变化
- ·VB控件精选45例下载
- ·用VB跟我学做记事本(很简单哟)
- ·CreateFile
- ·VB中使用DirectX库的简明教程
- ·用API修改注册表的完整模块
- ·通信控件MSComm使用详解
- ·VB打造超酷个性化菜单(六)
- ·GetClientRect
- ·利用VB控件操作目录和文件夹
- ·用VB6.0编写自己的MP3播放器
- ·Excel中的宏的应用
- ·180个VB图形界面类源码实例下载
- ·webbrowser 技巧2 (收藏)
- ·用VB编写记事本
- ·VB编程之路-如何让界面美化
- ·在VB中实现延时(等待)的几种方法
特别推荐
- ·VB 2005的重构支持可以支持智能标记了
- ·怎样检查声卡的存在
- ·用VB6.0编写自己的MP3播放器
- ·深入浅出VB.Net Windows Form
- ·简易股票税率计算器
- ·VisualBasic 6编程中的汉字处理
- ·自动读取用户登陆名称,再进行密码验证
- ·用API函数遍历指定驱动器、目录的文件
- ·VB的数据库类型源码60实例下载
- ·用VB制作IE工具条自定义按钮
- ·用VB创建MS Office的COM加载项
- ·教你用Visual Basic制作安装程序
- ·WebComputing━ADO总结报告
- ·vsprint打印实例
- ·用VB实现一个简单的ESMTP客户端
- ·webbrowser 技巧2 (收藏)
- ·SetForegroundWindow
- ·用API修改注册表的完整模块
- ·VB打造超酷个性化菜单(六)
- ·WINDOWS消息说明
