VC计时器实例演示
之前写过一篇说进度条的文章,有个高手朋友告诉我说可以自己设置一个计时器,每固定一段时间让进度条走一格,感觉这个想法不错。于是实践了一下,网上许多关于计时器SetTimer和OnTimer的用法,这里就不说了,直接列举一个实例吧。
STEP 1 在OnInitDialog在添加SetTimer
//20052008需要手动添加BOOL ProgressYS::OnInitDialog(void){
CDialog::OnInitDialog();
m_pro.SetRange(0,100);
m_pro.SetStep(10);
SetTimer( IDTIMER1 ,1000,NULL);
return 0;
}
STEP 2 用OnTimer函数响应定时器
int a=0;效果图:void ProgressYS::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (a==10)
{
KillTimer(IDTIMER1);
OnOK();
}
SetDlgItemText(IDC_STATIC_YS,_T(“正在处理”));
m_pro.StepIt();
a++;
CDialog::OnTimer(nIDEvent);
}
看,进度条逐渐“勃起”了,有木有!
相关附件:完整代码下载