进度条:CProgressCtrl
下面我们来创建两个进度条,一个横向的(水平),一个竖向的(垂直)
1. 在view类添加变量:
CProgressCtrl m_ProgressCtrl;
CProgressCtrl m_ProgressCtrl1;
1. 在OnCreate消息里如下处理:
m_ProgressCtrl.Create(WS_CHILD|WS_VISIBLE|PBS_SMOOTH,CRect(750,260,900,280),this,11);
m_ProgressCtrl.SetBarColor(RGB(0,255,255));
m_ProgressCtrl.SetBkColor(RGB(0,0,0));
m_ProgressCtrl.SetRange(0,100);
//m_ProgressCtrl.SetStep(40);
m_ProgressCtrl.SetPos(0);
m_ProgressCtrl1.Create(WS_CHILD|WS_VISIBLE|PBS_VERTICAL,CRect(250,100,270,200),this,12);
m_ProgressCtrl1.SetBarColor(RGB(0,255,0));
m_ProgressCtrl1.SetBkColor(RGB(0,0,0));
m_ProgressCtrl1.SetRange(0,100);
//m_ProgressCtrl.SetStep(40);
m_ProgressCtrl1.SetPos(0);
为了让进度条动起来,现在我们添加一个计时器,当然是在OnCreate消息里:
SetTimer(1,1000,NULL);
下面我们利用MFC向导添加一个计时器函数:(添加消息 WM_TIMER)
void CMyView::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
m_ProgressCtrl.StepIt();
m_ProgressCtrl1.StepIt();
CView::OnTimer(nIDEvent);
}
现在动起来了,难道不是吗。。