MFC编程实例二:进度条的使用
2016-06-02 13:58
295 查看
MFC编程实例二:进度条的使用
(以下蓝色字体为手动添加的代码)
(1) 创建一个基于对话框的应用程序。
(2) 在对话框界面添加一个文本框、一个进度条控件(Progress控件)和一个按钮。
(3) 为Progress控件添加一个变量m_ctrlProgress,文本框添加一个变量m_strText。
(4) 在初始化函数中添加如下代码
BOOL CBbbDlg::OnInitDialog()
{
CDialog::OnInitDialog();
…………
// TODO: Add extra initialization here
SetDlgItemText(IDC_EDIT1,_T("0%"));
//设置进度条的范围
m_ctrlProgress.SetRange(0,100);
//设置进度条的每一步的增量
m_ctrlProgress.SetStep(10);
//设置进度条的当前位置
m_ctrlProgress.SetPos(0);
return TRUE; // return TRUE unless you set the focus to a control
}
(5) 双击按钮,添加如下代码:
void CBbbDlg::OnButton1()
{
// TODO: Add your control notification handler code here
UpdateData(false);
//获取进度条的位置范围的最大值和最小值
int nLower=0;
int nUpper=0;
m_ctrlProgress.GetRange(nLower,nUpper);
if(m_ctrlProgress.GetPos()==nUpper){
m_ctrlProgress.SetPos(nLower);
}
//用每一步的增量来增加进度条的当前位置
m_ctrlProgress.StepIt();
//获取进度条的当前位置
int nPos=(m_ctrlProgress.GetPos()-nLower)*100/(nUpper-nLower);
CString s;
s.Format("%d",nPos);
m_strText=s+"%";
UpdateData(false);
}
运行结果:
(单击测试按钮进度条位置前进一步,要实现自动前进,需要设置定时器,本文暂时不介绍定时器的运用)
参考文献:曲扬,Visual C++实效编程280例,人民邮电出版社,2009.3
参考:MFC 进度条 百度
相关文章推荐
- C# in depth学习(1)
- java多线程和队列实例
- 173 atom docblockr 不起作用 支持enter 不支持tab
- 图 单源最短路径求解 Dijkstra算法 C++ 实现
- C语言学习篇-7数组、二维数组、高维数组
- C++矩阵处理工具——Eigen
- Java高效读取大文件
- C#多态
- Java自定义注解问题追踪及解决
- java io流
- Spring Boot笔记
- C#—实验9.6和9.7
- C语言的指针(进阶篇章之一)
- 源码编译php-5 报错整理
- 史上最全最强SpringMVC详细示例实战教程
- java dom4j解析XML读取数据源配置的代码实例
- Django细谈之:Model和ModelForm关联
- Mac下Lua Sublime Text2 开发环境搭建
- JDK、J2EE、J2SE、J2ME的区别
- 边做边学Python Flask Web开发(2)-- 使用VirtualEnv虚拟环境