当前位置: 代码迷 >> WinCE >> EVC对话框下显示时间时 秒 跳动正常,分不跳动解决方法
  详细解决方案

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

热度:139   发布时间:2016-04-28 13:38:48.0
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);是没问题的,你可以试一下
  相关解决方案