问题:我想实现就是在Combo Box里有时间选择,并且我定义每个Combo Box为m_HOUR等,设定以后,点击按钮,如果和现在系统时间完全相同,包括秒,则弹出消息框,我的代码如下,请高手看一下,为什么点击按钮没反应呀!谢谢(是我按钮响应部分代码)   
         CTime t=CTime::GetCurrentTime();  
int h=t.GetHour();
int min=t.GetMinute();
int s=t.GetSecond(); CString hh,mins,ss;
if(h<10)
    hh.Format("0%d",h);
else
hh.Format("%d",h);
if(min<10)
        mins.Format("0%d",min);
else
    mins.Format("%d",min);
if(s<10)
    ss.Format("0%d",s);
else
ss.Format("%d",s);
UpdateData(TRUE);
if(m_HOUR==hh&&m_MIN==mins&&m_SEC==ss)
{
AfxMessageBox("ok");
}
请大家帮忙看一下,谢谢,

解决方案 »

  1.   

    gamezealot(≯未成年+迷失本性=良牙≮) 

    我好像有点明白了
    但怎么实现呢?
    该怎么改
    谢谢
      

  2.   

    你可以将这个写成一个函数比如:IsCurrentTime();
    然后把这个放到OnTimer()里去,就可以实现了~
    不过还要多点其他的小处理,你自己搞定吧~
      

  3.   

    先给你的类加个函数:不妨叫IsCurrentTime();
    然后
    void C****Dlg::IsCurrentTime()
    {
    CTime t=CTime::GetCurrentTime();  
    int h=t.GetHour();
    int min=t.GetMinute();
    int s=t.GetSecond();

    /*test only*/
    if((h == 16)&&(min == 03)&&(s == 20))//这里16,03,20是你要比较的值
    {
    AfxMessageBox("time over");
    }
    }
    再然后
    OnInitDialog()里
    SetTimer(1,1000,NULL);
    接着
    void CForLeidyDlg::OnTimer(UINT nIDEvent) 
    {
    // TODO: Add your message handler code here and/or call default
    IsCurrentTime();
    CDialog::OnTimer(nIDEvent);
    }
    最后
    void CForLeidyDlg::OnDestroy() 
    {
    CDialog::OnDestroy();

    // TODO: Add your message handler code here
    KillTimer(1);
    }没问题的,我刚试过,楼主,给分吧,呵呵~
      

  4.   

    gamezealot(≯未成年+迷失本性=良牙≮)
    很感谢你对我的帮助
    上边那个确实可以实现
    但是我说的是要按钮实现
    点击以后才行,然后可以更改的
    希望你能给我解答
    谢谢!