- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进度指示器分析
实验报告
课程名称 软件案例分析
实验名称 进度指示器制作
班 级
学 号
姓 名
成 绩
指导教师
进度指示器制作
1.实验目的
理解自定义进度指示器的设计原理。
理解进度百分比反色显示实现原理。
了解CWnd::OnCtlColor函数功能和使用方法。
熟练掌握定时器的使用方法。
掌握动态控件的创建和使用方法。
掌握嵌入子对话框的实现方法。
开发环境
使用C++语言实现,使用VC++6.0集成开发环境开发
使用MFC应用程序开发框架
实验要求
(1)进度条未完成进度为白底红(或其他颜色)字。
(2)进度条已完成进度为红(或其他颜色)底白字。
(3)进度具有加速、减速、停止功能,如图A.6所示。
图A.6 进度指示器
4.实验步骤
启动VC++ 6.0,创建基于对话框的MFC AppWizard(exe)类型的工程,命名为ProgSelf,生成的主对话框类为CProgSelfDlg。
修改对话框ID为“IDD_PROGSELF_DIALOG”,标题为“进度指示器”。在主对话框中添加5个按钮控件(其中“退出”按钮的ID为IDOK),两个静态文本控件,一个编辑框控件IDC_RATE和一个图片控件IDC_PIC,对话框界面设计如图A.7所示。
图 A.7 主对话框界面
打开MFC ClassWizard对话框,为“开始”、“加速”、“减速”、“停止”这四个按钮控件添加相应的消息映射成员函数。
向工程中添加子对话框资源,修改ID为“IDD_PROGESS”,样式设置为“下层”,边框设置为“无”,其他属性设置如图A.8所示。双击孩子对话框,生成相应的类为CProgBar。
图 A.8 子对话框界面
在Resource.h文件中为4个动态编辑框控件定义ID,代码如下:
#define IDC_BOT 106
#define IDC_BOTTEXT 101
#define IDC_UP 107
#define IDC_UPTEXT 103
在ProgBar.h文件中为4个动态编辑框控件定义CEdit对象指针和CRect对象,以及用于进度条更新和进度值显示控件的变量。代码如下:
public:
int speed; //进度条更新速度
private:
bool firstText; //上层文本开关标志
bool firstEdit; //上层背景开关标志
CString m_sUp; //上层进度值
CString m_sBot; //底层进度值
CRect rectUpText; //上层文本矩形
CEdit* pEditUpText; //上层文本编辑框
CRect rectUp;
CEdit* pEditUp; //上层背景编辑框
CRect rectBotText;
CEdit* pEditBotText; //下层文本编辑框
CRect rectBot;
CEdit* pEditBot; //下层背景编辑框
float step; //上层文本编辑框宽度
float percent; //进度百分比
bool timerOn; //定时器开关标志
在CProgBar类构造函数中进行成员变量的初始化。代码如下:
speed=1;
step=0;
percent=0;
m_sBot=;
m_sUp=;
pEditBot=NULL;
pEditBotText=NULL;;
pEditUp=NULL;
pEditUpText=NULL;
timerOn=false;
firstEdit=true;
firstText=true;
为类CProgBar添加成员函数CreateBot
文档评论(0)