目标:把一个对话框中编辑框输入的内容存储在一个变量里,在另一个对话框里调用这个值。
运行显示第一个对话框中编辑框的输入内容已经成功储存在这个变量里了,可是在另一个对话框中这个变量成了空值。
是用的这个命令:
CSubDialog   dlg;   dlg.m_XXX   =   m_XXX
初学vc,可能问题比较白痴,见笑了。

解决方案 »

  1.   

    你为第二个对话框建立一个成员变量 int m_Number ,目的是用来接收第一个对话框中的数据;当你在第一个对话框中打开第二个对话框时,你把这个 m_Number 赋值为你要传递的数据;这样,你在第二个对话框中就可以随意使用了。
      

  2.   

    运行显示第一个对话框中编辑框的输入内容已经成功储存在这个变量里了,可是在另一个对话框中这个变量成了空值。
    ======================
    这个变量应该是全局变量,就不会出错了还有,在你的代码下,加入UpdateData(FALSE);运行看看
      

  3.   

    extern不会用啊,老是出错。应该在哪里定义呢?
      

  4.   

    比如:定义CString s;
    在别的文件中应用时,extern CString s;
    就OK了
      

  5.   

    按照方法作了,但是出现这个错误
    error LNK2001:unresolved external symbol "class CString s" (?name@@3VCString@@A)
      

  6.   

    加入UpdateData(FALSE);就可以把变量的值传到界面了 UpdateData(TRUE);相反
      

  7.   

    把变量变成全局选项总出现错误;
    加入UpdateData(FALSE);也不管用
      

  8.   

    UpdateData();
    ::SendMessage(m_hWnd, WM_CLOSE, 0, 0); //隐藏当前对话框
         
         CTest dlg;//另一个对话框类的对象声明
      
     dlg.m_copy = m_str;//m_copy是对话框CTest类中的变量,m_str是当前对话框中的变量
    这些要在调用对话框CTest类的按钮中添加.  dlg.DoModal();