主程序中CString str= "aaa", 要传给一个子对话框,如果不用全局函数,请问还有没有其它方法。
多谢!!!

解决方案 »

  1.   

    在子对话框中加一个公开变量,或者加一个成员函数.
    在domodal之前主程序中设其变量或调其函数.
      

  2.   

    是主程序调用子对话框吗?那么,在子对话框中也定义一个变量,比如m_Str,然后,在定义对话框实例后,比如CTestDlg dlg;就可以用dlg.m_Str = str;传递了。在对话框的初始化函数中就可以使用这个字符串了。
      

  3.   

    对话框中加一个公有变量m_str;
    CXXXDlg dlg;
    dlg.m_str = "aaa";
    if(IDOK ==dlg.DoModal())
    {
    }
      

  4.   

    对话框中定义一个成员变量m_str;
    CMyDlg dlg;
    dlg.m_str = str;
    dlg.DoModal();
      

  5.   

    各位大虾怎么把构造函数给忘了,这可是最安全的方法,因为成员变量可以定义为private:
    class CMyDlg:public CDialog
    {
    private:
        CString m_cStr;
    public:
        CMyDlg(CString str = "")
        {
            m_cStr = str;
         }
    };CMyDlg dlg("hello");
    dlg.DoModal();