小弟想设计一个逐步输入数据的小程序,先设计一个对话框A,其上有‘取消’和‘下一步’两个控制按钮,接着设计对话框B,其上有‘取消’、‘上一步’和‘下一步’三个控制按钮,
再设计对话框C,其上也有‘取消’、‘上一步’和‘下一步’三个控制按钮,最后设计对话框D,有‘完成’和‘取消’两个按钮。问题:1。在对话框A中点击‘下一步’时弹出对话框B的时候,如何使对话框A消失,我试过用ShowWindow(SW_HIDE)函数,只能使对话框A隐藏,但是对话框A仍然存在,所以如果这样在对话框B中单击‘取消’时,对话框A显现不出来,但程序仍在运行?只好用任务管理器处理!
 2.如何在对话框B中单击‘上一步’时返回到对话框A中??拜托拜托!!

解决方案 »

  1.   

    在OnCancel 里SendMessage(hWndA,SC_CLOSE,,,,,
    hWndB,hWndC,,,,,
      

  2.   

    SORRY,,我是想Send  WM_COMMAND消息
      

  3.   

    在调出下一个对话框前
    调用OnOk()就会关掉当前对话框
      

  4.   

    http://www.codeproject.com/useritems/Conquering_Wizard97.asp
    http://www.codeproject.com/property/resizeable_wizard97.asp
      

  5.   

    在DialogB中加入指针变量
    m_pDlg;
    在DialogB.DoModal()之前 在DialogA.OnButton()中 调用m_pDlg=this; 
    ShowWindow(SW_HIDE)

    DialogB.OnCancel()

    调用 m_pDlg->ShowWindow
    在关闭DialogB() 
    我经常这样搞的
      

  6.   

    补充一句
    DialogB是DialogA的成员变量 我想你也是这样搞得吧
      

  7.   

    CMyDialogB::OnCancel()
    {
        SendMessage(hwndA, WM_CLOSE, 0, 0);
    }
      

  8.   

    使用向导类CPropertySheet来组织这些对话框
      

  9.   


                      ShowWindow(SW_HIDE)之后,UpdateWindow()一下就可以了。
      

  10.   

                   或者用ModifyWindowStyle(0,WS_VISIBLE,NULL);
                      和ModifyWindowStyle(WS_VISIBLE,0,NULL);进行操作。具体查下MSDN