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

CDateTimeCtrl控件与系统时间获取,比较结果相等则触发事件,该怎么解决

2012-03-30 
CDateTimeCtrl控件与系统时间获取,比较结果相等则触发事件CDateTimeCtrl 控件关联变量m_timer定义CTime t

CDateTimeCtrl控件与系统时间获取,比较结果相等则触发事件
CDateTimeCtrl 控件关联变量m_timer

定义CTime t = CTime::GetCurrentTime(); 获取系统时间

定义CTime mtime;m_timer.GetTime(mtime);获取控件时间

比较m_timer 跟t 表示的时间:
if(mtime.Format("%H%M%S") == t.Format("%H%M%S")){
  MessageBox(_T("alarm"));
}  
编译通不过,请纠错或有没其它解,目的是定时触发某事件,如设定15点时弹出消息框。

[解决办法]

C/C++ code
m_timer.GetWindowText(strTimeStart);
[解决办法]
CTime类重载了operator == 操作符
C/C++ code
bool operator ==(   CTime time ) const throw( );bool operator !=(   CTime time ) const throw( );bool operator <(   CTime time ) const throw( );bool operator >(   CTime time ) const throw( );bool operator <=(   CTime time ) const throw( );bool operator >=(   CTime time ) const throw( );
[解决办法]
你这个时间控件关联的变量m_timer是什么类型哦? 要是CTime类型直接就m_timer.Format("%H%M%S");还搞什么CTime mtime; m_timer.GetTime(mtime); 这个肯定有问题啊.
[解决办法]
UpdateData(TRUE);刷新一下你定的时间,然后直接比较两个时间:
CDateTimeCtrl控件关联变量CTime m_timer;
CTime t = CTime::GetCurrentTime();
if(m_timer.Format("%H%M%S") == t.Format("%H%M%S"))
{
MessageBox(_T("alarm"));
}
[解决办法]
直接比就是了
C/C++ code
    CTime mTime,currentTime;;    m_time_end.GetTime(mTime);   //m_time_end为CDateTimeCtrl控件变量    currentTime= currentTime.GetCurrentTime();    if (mTime == currentTime)    {        AfxMessageBox(_T("=="));    }    else    {        AfxMessageBox(_T("!="));    }
[解决办法]
上面第一句多了个分号,
C/C++ code
CTime mTime,currentTime;    m_time_end.GetTime(mTime);   //m_time_end为CDateTimeCtrl控件变量    currentTime= currentTime.GetCurrentTime();    if (mTime == currentTime)    {        AfxMessageBox(_T("=="));    }    else    {        AfxMessageBox(_T("!="));    } 

热点排行