一个主对话框,有两个定时器,分别定时向两个EDIT里面发送数据,能不能实现下面的功能,当我点击主对话框上的一个按钮,弹出一个子对话框的时候,这两个定时器暂停,当我关闭了子对话框的时候,这两个定时器继续。

解决方案 »

  1.   

    可以先KillTime
    关闭对话框后,重新SetTime
      

  2.   


    1、定义一个 BOOL 类型的窗口类成员变量 m_bFlag;
    2、开启定时器后,设置这个变量为 TRUE;
    3、在OnTimer函数中判断,如果 m_bFlag 为真则执行你的程序;
    4、暂停时,只需要把 m_bFlag 改为 FALSE 即可。
      

  3.   

    我是这样考虑的:
    OnTimer
    {
       switch()
         {
           case 1:
                 CWnd *pwnd = GetActiveWindow();
                  HWND hWnd =pwnd->m_hwnd;
                  if(hWnd == m_hwnd)(这个m_hwnd是主界面的)
                   {
                    .....
                    }
          }
    }
    各位看看这样考虑可不可以?
      

  4.   

    可以完全可以.当SHOWDLG时将TIMER关闭,然后ID_OK后,再将TIMER开启.
      

  5.   

    1楼2楼的都可以,但是UP2楼的。尽量不是反复的KillSet的。
      

  6.   

    我觉得还是1楼的好。有个Timer就是多开了一个线程。如果那个对话框弹出时间比较长,不如就kill掉那个Timer。