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

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("!="));
    }