通过DoModal产生一个模态对话框,在对话框上面设定一些参数,请问如何把这些参数传递回主窗体?谢谢!!

解决方案 »

  1.   

    你可以在主窗口中定义相应的参数来保存!
    like this :
    CString m_strAAA = dlg.strAAA;m_strAAA及用作全局也可!-_-
      

  2.   

    谢谢你 的回答,请问m_strAAA作为全局的话,是不是先要把 CMyDlg dlg;作为全局?
      

  3.   

    看情况了!如果CMyDlg   dlg中的参数你只是想作临时用,可以不用全局;
    如果经常要用到,全局亦可.
      

  4.   

    CMydlg dlg;
    int iData;if(dlg.Domodal == IDOK)
    {
       iData = dlg.m_data;
    }
      

  5.   

    谢谢两位的回答,当初我也是这样做的 ,如果是文本框的内容就可以,但是COMBO BOX  用 setcursel(n) 的就出错了, getcursel()也不行,我想把模态对话框的COMBO BOX 的参数传递过来,请问有什么好的方法吗?
      

  6.   

    绑定 COMBO BOX的变量。
    或者干脆自己定义一个dlg的公有成员变量以保存 ComboBox的序号,在 dlg的 OnInitDialog 时 setcursel.
      

  7.   

    比如:
    // CMydlg 里定义有int* pit;
    //要在OnOK或OnCancel之前要把值传回 CMydlg::OnOK()
    {
        *pit = 100; //这里把值带出去
    }
    CMydlg dlg; 
    int rt;
    dlg.pit=&rt;
    if(dlg.Domodal ==  IDOK) 

     // iData = dlg.m_data; 
    }