vs进度条

进度条是通过不断更新进度条的当前位置实现的

1、建立一个对话框CProgressDlg,在上面添加Progress Contrl控件,CProgressCtrl操作方法可看:

https://blog.csdn.net/liangjisheng/article/details/72582905

2、为对话框添加类,为Progress Contrl绑控制变量(类型为CProgressCtrl)m_ProgressCtrl,接下来主要时通过此变量对进度条控制

3、在oninitDialog中对m_ProgressCtrl范围、当前位置做初始化

4、为CProgressDlg实现接口1:可以在类外对m_ProgressCtrl进度条当前位置更新;接口2:可以在类外对m_ProgressCtrl进度条范围设置

void CProgressDlg::SetProgressPos(unsigned int pos)
{
	float percet = float(pos) / float(m_ProgressMaxPos);
	int pos2 = percet * 200;
	m_ProgressCtrl.SetPos(pos2);
}
void CProgressDlg::SetProgressRange(unsigned int rang)
{
	m_ProgressMaxPos = rang;
}

5、将m_ProgressCtrl范围设置为任务个数,当完成一个任务时,更新一下m_ProgressCtrl当前位置,就是调用

SetProgressPos函数(不用设置SetTime机制,SetTime主要是用来实现固定时间下进度条走固定刻度的问题),SetTime问题可以看:

https://blog.csdn.net/bcd_not_cbd/article/details/51970460

https://blog.csdn.net/qq_18297675/article/details/50982883

6、创建CProgressDlg对象,以非模态对话框形式显示,对于非模态对话框显示问题可看:

https://blog.csdn.net/qq_16334327/article/details/80708307


猜你喜欢

转载自blog.csdn.net/qq_16334327/article/details/80709806
今日推荐