我做了一个基于对话框的应用程序,给主对话框添加了一个子对话框,子对话框中有两个按钮IDC_INSERT,IDC_CANCEL,请问,我在主应用程序如何知道我按的是哪一个按钮?
CSumDlg mydlg;
if(mydlg.DoModal()==IDC_INSERT)
{
......
}
这种方法不行啊

解决方案 »

  1.   

    在子对话框中使用EndDialog(IDC_INSERT)或EndDialog(IDC_CANCEL)if(mydlg.DoModal()==IDC_INSERT)
    {
    ......
    }
      

  2.   

    你在CSumDlg里定义一个public变量m_Flag,
    不同的按钮给不同的值,
    然后通过mydlg.m_Flag不就知道了吗?
      

  3.   

    在CSumDlg里保存主对话框的指针。CSumDlg mydlg;
    mydlg.m_pMainDlg = this;
    mydlg.DoModal();然后在CSumDlg的按钮单击事件里用m_pMainDlg做相应的操作就行了。
      

  4.   

    子对话框对消息响应的最后一句添加
    EndDialog(yourGetID);
    如果用CDialog::OnOK();返回的是IDOK,
    用CDialog::OnCancel();返回的是IDCANCEL