就是说,弹出的子对话框,可以设置时间,控制主对话框的timer,间隔时间。
我是想设置完时间后,结束主对话框之前的timer,然后重新启动。我在主对话框中,设置了一个函数执行这个功能,但用子对话框调用,就是在KILLTIMER那崩溃。请问这个该如何实现。

解决方案 »

  1.   

    自定义消息,由子窗口postmessage发送给父窗口,在消息处理函数中做这个操作。
      

  2.   

    GetParent()->SendMessage  或者 GetParent()->PostMessage
      

  3.   

    自定义消息
    子对话框:
    #define UM_KILLTIMER WM_USER + 0x1000;
    响应函数中SendMessage(UM_KILLTIMER,(WPARAM)0, (LPARAM)0);父对话框:
    头文件声明LRESULT OnUMKillTimer(WPARAM wParam, LPARAM lParam);
    实现文件消息宏中增加ON_MESSAGE(UM_KILLTIMER, CxxxDlg::OnUMKillTimer)LRESULT CxxxDlg::OnUmKillTimer(WPARAM wParam, LPARAM lParam)
    {
        ....
        KillTimer(...);
    }
      

  4.   

    你子对话框把消息传递给父对话框。然后父对话框在PrepareTranslateMsg中处理一下该消息就OK了。