代码如下:
其中m_startTime为CTime类数组,endTime也是CTime类变量。
在OnLButtonDown()中
       SetTimer(1, 1000, NULL);
       m_startTime[0].GetCurrentTime();
我在OnTimer()函数中有:
    endTime = CTime::GetCurrentTime();
       CTimeSpan Time = endTime - m_startTime[0];
       if(Time.GetTotalMinutes() >= 1)
       {
                KillTimer(1);
                MessageBox(L"Yes", L"Yes", NULL);
        }
我想让程序单击窗口后,一分钟后显示消息框...怎么一下子就弹出消息框了?

解决方案 »

  1.   

    SetTimer(1, 60000, NULL);这样不就可以可以了吗?
    或者用GetTickCount()来计算时间差
      

  2.   

    SetTimer(1, 60000, NULL);不行,我还想把时间往上提,至少要到20分钟,中途退出程序,我希望保存上次运行时间,到第二次开启程序时,继续...如果用SetTimer()函数中途退出去了怎么办?
    我学VC++没多久,GetTickCount()函数和GetCurrentTime()函数可以替换?
      

  3.   

    CTimeSpan m_Time;// = endTime - m_startTime[0];
    放类中。
      

  4.   

    什么意思?把变量Time放到我的对话框类里面?我试过了...
      

  5.   

    我就纳闷了,Time.GetMinutes()的值一来就是1....
    VS2008里面CTime类是不是没有GetCurrentTime()函数了?为什么在输入"."后找不到?...
      

  6.   

    真的,我输入CTime time.的时候没有GetCurrentTime函数,不过编译器还是可以通过...
      

  7.   

    保存起来,比如保存到注册表或者ini或者其它自定义的文件都可以,供下次程序启动的时候读取数据即可
      

  8.   

    谢谢各位,我把上面的代码m_startTime[0].GetCurrentTime(); 改成了 m_startTime[0] = CTime::GetCurrentTime();就可以了...谢谢各位...结贴了...