vc自制时钟的实现

 
程序设计中有很多要实现程序运行计时,和程序定时的实现,我现在给出我一般实现这种功能的方法:
1 在dialog对话框里加入一个只读的编辑控件并绑定CString型的public常量 m_strTime
2要计时的对话框加入WM_TIMER消息,回自动生成个OnTimer函数,默认就可以了
3具体代码实现:
.h文件里:
加入public变量:
public:
 BOOL m_btimer;
 UINT m_timer;
private变量:
private:
 int h,m,s,ms;
 
.cpp文件里:
初始化里加入:
 h=m=s=ms=0;
 m_strTime.Format("%02d:%02d:%02d:%01d",h,m,s,ms);
 UpdateData(FALSE);
 m_timer=SetTimer(1,100,NULL);  //设置定时,每100ms发送一个定时消息到Windows消息队列
 m_btimer=FALSE;       //视图的初始化中是TRUE
在OnTime中加如:
void CMyDlg::OnTimer(UINT nIDEvent)
{
 // TODO: Add your message handler code here and/or call default
 m_strTime.Format("%02d:%02d:%02d:%01d",h,m,s,ms);
 UpdateData(FALSE);
 ms++;
 if(ms==10){ms=0;s++;}
 if(s==60){s=0;m++;}
 if(m==60){m=0;h++;}
 CDialog::OnTimer(nIDEvent);
}
 

你可能感兴趣的:(timer,windows,null,dialog)