我想在两个对话框之间传递数据,比如我在一个对话框中设置一些参数,然后在其他的对话框中使用该参数,不知道如何实现,用全局变量吗,感觉有点不太科学,有别的方法吗?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3135/3135337.xml?temp=.8035547
      

  2.   

    CDlg1::OnButton1()
    {
          CDlg2 dlg;
          dlg.m_str = "你好";
          dlg.DoModal();
    }//Dlg2.h
    public:
         CString m_str;
    //Dlg2.cpp
    CDlg2::OnInitDialog()
    {
        GetDlgItem(IDC_EDIT2)->SetWindowText(m_str);
    }
      

  3.   

    得到目标对话框指针,然后通过上面的控件id得到控件指针,然后获得数据。如果控件和数据比较多的话,最好用一个约定的结构体保存数据,UpdateData之后将数据放到一个结构体对象中,然后SendMessage将结构体指针传递到目标对话框。