我在一个对话框上添加一个按钮和一个编辑框,在编辑框上输入一些文本数据
当点击按钮时弹出另一个模态对话框,在弹出的模态对话框上的一个静态文本上显示之前编辑框上的文本大概意思就是这样,其实我是想点击按钮弹出新对话框时可以根据原来对话框上的数据来设置新对话框的初始数据,除了用全局变量外,有无其他方法?

解决方案 »

  1.   

    在DoModal之前,传入文本,然后在OnInitDialog里显示它
      

  2.   

    用PostMessage应该可以实现
      

  3.   

    wltg2001(红猪) 
     修改弹出的模态对话框的构造函数,通过构造函数来传数据.关键是新弹出的对话框的构造函数中如何得知之前对话框上的数据?
      
     
      

  4.   

    ouyh12345(五岭散人)   
       在DoModal之前,传入文本,然后在OnInitDialog里显示它可否具体说下如何实现?谢谢
      
     
      

  5.   

    mrdone() 
       用PostMessage应该可以实现具体应该如何做呢?我不太了解
      
     
      

  6.   

    简单啦,在弹出对话框的类里面定义一个Set(const CString& strContent);的方法,把文本保存在它的一个成员变量里面就可以了,在弹出对话框出现的时候显示就可以了,在它的OnInitDialog里面显示.
      

  7.   

    修改构造函数
    或者在弹出的摸态对话框类加个成员变量m_strSave;
    然后写个函数SetStrValue(CString &str);初始化它!然后在OnInitDialog初始话指定的编辑框然后在点击按钮的处理函数内写上
    UpdateData(TRUE);
    CString str;
    GetDlaItem(编辑框ID)->GetWindosText(str);CMyDialog dlg;dlg.SetStrValue(str);dlg.DoModal();  
      

  8.   

    UpdateData();
     CTest1 dlg;//模态对话框对象
      
     dlg.m_copy7 = m_strS9;//m_strS9是当前编辑框变量,m_copy7是要调用的模态对话框中编辑框变量  dlg.DoModal();//调用模态对话框
    以上代码加到按钮的响应函数中。
      

  9.   

    rain4609(昨天还很帅) ( ) 信誉:100    Blog   加为好友  2007-05-30 09:06:42  得分: 0  
     
     
       wltg2001(红猪) 
     修改弹出的模态对话框的构造函数,通过构造函数来传数据.关键是新弹出的对话框的构造函数中如何得知之前对话框上的数据?
      
    方法:构造函数传递父窗口指针[注意改下默认构造函数的参数],这样可以得到父对话框上的数据。其实,和这个方法类似的,可以利用this->GetParent()获取父窗口指针。  
     
      

  10.   

    wltg2001(红猪) 
     修改弹出的模态对话框的构造函数,通过构造函数来传数据.关键是新弹出的对话框的构造函数中如何得知之前对话框上的数据?
    ===============================================
    将构造函数中加一个参数,设为父对话框类的指针,在定义这个对话框对象时写作
    CMyDlg dlg(this);这样父对话框类的指针就传过去了,同样如楼上兄弟所说,对话框和视图类也可以这样传送数据.