现有两个对话框dialogA dialogB  其中 dialogA 上有一个按钮 ID_BUTTONA1  ,
dialogB上有两个按钮 ID_BUTTONB1,ID_BUTTONB2 .通过单击ID_BUTTONA1 弹出 dialogB  请问如何通过单击 dialogB 上的ID_BUTTONB1将 对话框A 和对话框B全部关闭 而单击ID_BUTTONB2 只关闭对话框B?  谢谢了! 新手啊!!!等待!!!

解决方案 »

  1.   

    dialogA 中
    消息响应函数
    OnButtom1()
    {
    CDialogB dlg;if( dlg.DoModal == IDOK )//在dialogB中, ok按钮ID改成buttom1的ID;
                            //cancel按钮ID改成buttom2的ID
    {
      CDialog::OnCancel();
    }
    else
    {
    //
    }----
    试试
      

  2.   

    发消息,以下仅供参考添加ID_BUTTONB1的响应函数,
    在函数中添加
    SendMessage(WM_CLOSE, 0, 0);
    AfxGetMainWnd()->SendMessage(WM_CLOSE, 0, 0);
    添加ID_BUTTONB2的响应函数,
    在函数中添加
    SendMessage(WM_CLOSE, 0, 0);
      

  3.   

    声明两个对话框类:CDialogA,CDialogB
    在DialogA上添加按钮CButton1,在CDialogB上添加CButton2,CButton3
    给DialogA上的CButton1按钮添加如下消息:
    void CDialogA::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    CDialogB dlgB;
    dlgB.DoModal();

    }
    DialogB上的CButton2按钮添加如下消息:
    void CDialogB::OnButton2() 
    {
    // TODO: Add your control notification handler code here
    SendMessage(WM_CLOSE, 0, 0);
    GetParent()->SendMessage(WM_CLOSE, 0, 0);
    }
    DialogB上的CButton3按钮添加如下消息:
    void CDialogB::OnButton3() 
    {
    // TODO: Add your control notification handler code here
    SendMessage(WM_CLOSE, 0, 0);
    }