编写一个基于对话框的模拟进度程序,要求添加相关控件实现以下功能:单击开始,进度条开始填充,最后填充的百分比为滑动条定位的位置,而且显示最后进度的百分比。运行结果以下所示:html
新建一个工程,环境有问题的请参考visual2017专业版MFC编程环境搭建及第一个MFC程序的建立编程
在资源文件——prograss.rcide
中打开Dialog,双击IDD_PROGRASS_DIALOG能够看到对话框函数
删除掉对话框上原有的控件,添加一个静态文本(STATIC),一个编辑框(EDIT)、一个命令按钮(BUTTON)、一个进度条(PROGRESS)和一个滑动条(SLIDER)控件,布局以下布局
鼠标选中控件,在属性对话框中设置其属性,以下表所示post
修改完成后界面如图所示:url
鼠标右键要设置的成员变量的控件,单击添加变量命令,打开添加变量向导对话框,设置其成员变量以下表所示,详情请参考控件——静态空间、编辑框控件、命令按钮、复选框和单选控件3d
在progressDlg.cpp文件下的消息队列初始化函数BOOL CprograssDlg::OnInitDialog()中添加以下代码htm
// TODO: 在此添加额外的初始化代码 m_p.SetRange(0, 100); m_slider.SetRange(0, 100);
双击按钮,在void CprograssDlg::OnBnClickedButton1()中填入以下代码:blog
void CprograssDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 for (int i = 0; i <= m_slider.GetPos(); i++) { m_p.SetPos(i); m_edit = i; UpdateData(FALSE); Sleep(50);//休眠50ms便于观察 } }
编译后运行结果以下: