在控件上显示系统时间,该怎么处理
在控件上显示系统时间
我设置的间隔时间是1秒,可是在控件上显示的时候老是在闪,就好像不停的刷新,
可是我看别人的程序都不闪啊,这是怎么回事呢??
------解决方案--------------------
好像是要设置一个定时器什么的吧 你这个不是一秒刷新一次吧
------解决方案--------------------
你设置的是1ms还是1s刷新一次??50ms都不闪,1s还会闪吗??
SetTimer(1, 50, NULL);你试试看?
格式化时间字符串这样是不是好点:
str.Format("%02d:%02d:%02d",hh,mm,ss);
- C/C++ code
void CShutDownSysDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default if (nIDEvent==1) { CTime tm=CTime::GetCurrentTime(); int hh=tm.GetHour(); int mm=tm.GetMinute(); int ss=tm.GetSecond(); CString str=""; str.Format("%d:%d:%d",hh,mm,ss); //GetDlgItem(IDC_STATIC_TIME)->SetWindowText(str); SetDlgItemText(IDC_STATIC_TIME,str); } CDialog::OnTimer(nIDEvent); }
我设置的间隔时间是1秒,可是在控件上显示的时候老是在闪,就好像不停的刷新,
可是我看别人的程序都不闪啊,这是怎么回事呢??
------解决方案--------------------
好像是要设置一个定时器什么的吧 你这个不是一秒刷新一次吧
------解决方案--------------------
你设置的是1ms还是1s刷新一次??50ms都不闪,1s还会闪吗??
SetTimer(1, 50, NULL);你试试看?
格式化时间字符串这样是不是好点:
str.Format("%02d:%02d:%02d",hh,mm,ss);