MFC 状态栏,进度条的使用

//进度条===================================
m_prograss = (CProgressCtrl*)GetDlgItem(IDC_PGTEST);
m_prograss->SetRange(0,100);
m_prograss->SetPos(0);
SetTimer(1,20,NULL);


在ontimer中


////进度条
void CCPPCtlTestDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//int lower;
//int upper;
//m_prograss->GetRange(lower,upper);
int pos = m_prograss->GetPos();
if(pos == 100){
m_prograss->SetPos(0);
}
m_prograss->SetPos(m_prograss->GetPos() + 1);
CDialog::OnTimer(nIDEvent);
}






//状态栏=================================




//添加:
static UINT indicators[] =
{
 IDS_STRING1,           // status line indicator
 IDS_TIMER,
};


还有字符串资源:
IDS_TIMER(HH:MM:SS),IDS_STRING1(当前时间),           


//初始化


CRect r;
    GetClientRect(r);
m_status.Create(this);




m_status.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));
 m_status.MoveWindow(0,r.bottom-20,200,20);




void CCPPCtlTestDlg::OnTimer(UINT_PTR nIDEvent)
{


////状态栏显示当前时间


int index=0;
index = m_status.CommandToIndex(IDS_TIMER);
CTime t=CTime::GetCurrentTime();
CString str=t.Format("%H:%M:%S");


m_status.SetPaneText(index,str);
}


你可能感兴趣的:(MFC 状态栏,进度条的使用)