我在一个对话框中创建了定时器,想在另一个对话框中调用该定时器~应该怎么做呢?
两个对话框是不同的类,但都属于一个工程。
如:
单击CMyDlg中一个按钮调出COtherDlg对话框,然后在COtherDlg对话框中单击确定调用CMyDlg的定时器。

解决方案 »

  1.   

    SendMessage(那个对话框的句柄, WM_TIMER, 定时器ID, 0)
      

  2.   

    那我先具体问下,你的定时器是用的 windows消息还是 回调函数?
      

  3.   

    WM_TIMER 消息响应
    调用时  SetTimer(1,1000,NULL)
      

  4.   

    还有一个笨方法是,你在那个对话框里写一个函数,
    void CDlg1::SetDlg1Timer(int nID,int nTimes)
    {
     SetTimer(nID,nTimes,NULL);
    }
    然后你再另一个对话框调用这个对话框的函数就可以了,如果定时器是固定的话那就更简单了
    void CDlg1::SetDlg1Timer()
    {
     SetTimer(1,1000,NULL);
    }
    这样不就可以了。
      

  5.   

    发消息给CMyDlg,在CMyDlg类的消息响应事件里处理CMyDlg的TIMER
      

  6.   

    HWND hnd=::FindWindow(NULL, "XXXX");//XXXX  接收消息的对话框的标题
    ::SetTimer(hnd,1,1000,NULL);