创建一个不显示实际进度的循环滚动进度条,类似于Windows XP启动界面的进度条
新建一个MFC项目TestProgress,编辑界面,添加一个进度条,两个按钮,实现点击start进度条循环滚动,点击stop进度条消失
右键进度条,属性,将Marquee设置为true
右击进度条,添加变量。设置变量名字m_progress
在CTestProgressDlg::OnInitDialog中添加以下语句
// TODO : 在此添加额外的初始化代码m_progress.SetMarquee(true,30);
右键单击start按钮,添加事件处理程序,选择消息类型BN_CLICKED,点击添加编辑
之后在CTestProgressDlg::OnBnClickedButton1中编辑以下代码
void CTestProgressDlg::OnBnClickedButton1(){m_progress.ShowWindow(true);}
同样的方法为stop按钮添加事件处理
void CTestProgressDlg::OnBnClickedButton2(){m_progress.ShowWindow(false);}
效果:
对于进度条,我使用以下方法让进度条恢复循环滚动
m_progress.ModifyStyle(NULL,WS_VISIBLE);
而使用以下方法会让进度条暂停滚动
m_progress.ModifyStyle(WS_VISIBLE,NULL);