首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

EVC对话框下显示时间时 秒 跳动正常,分不跳动解决方法

2012-02-03 
EVC对话框下显示时间时 秒 跳动正常,分不跳动EVC对话框下实时显示系统时间时 “秒”跳动正常,“分”不跳动,这

EVC对话框下显示时间时 秒 跳动正常,分不跳动
EVC对话框下实时显示系统时间时 “秒”跳动正常,“分”不跳动,这是什么原因啊,很诡异!期待各位高手解决ing……
以下是小弟代码:
void CCheckViewDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default

CDialog::OnTimer(nIDEvent);
  strtime=getCurrentTime();
m_ctrlInfo.SetWindowText(strtime);

}

void CCheckViewDlg::OnDestroy() 
{
CDialog::OnDestroy();

// TODO: Add your message handler code here
KillTimer(1);
}

CString CCheckViewDlg::getCurrentTime()
{
TCHAR strTime[50];
CTime curtime=CTime::GetCurrentTime();
swprintf(strTime,_T("%04d-%02d-%02d %02d: %02d: %02d"),curtime.GetYear(),curtime.GetMonth(),curtime.GetDay(),curtime.GetHour(),curtime.GetMinute(),curtime.GetSecond());
CString nTime=(CString)strTime;
return nTime;
}

在initdialog类中 SetTimer(1,1000,NULL);
m_ctrlInfo是显示静态框的变量 CStatic类型。 显示 “分 ” 时偶尔会变一下,可以肯定的是跟系统时间不一致。

[解决办法]
分两步
1. 先看GetCurrentTime()得到的时间是否正确
2. 如果正确,检查显示过程
[解决办法]
我使用::GetLocalTime(&time);是没问题的,你可以试一下

热点排行