我在其它类中定义了对话框对象,并将编辑控制关联的CString变量放在一个public函数中,以供其它类调用更新,却不成功,向诸位请教

解决方案 »

  1.   

    你在其他类里调用这个对话框的UpdateData()啊,它好象是public的嘛。不就更新了吗?
      

  2.   

    提问者:当然,public函数中已经有了UpdateData(),可就是不成功
      

  3.   

    代码贴出来看看!具体问题具体分析。
    模式对话框下,只有在DoModal过程中调用的UpdataData()才有用。
    无模式情况下,可以调用UpdataData()更新控件内容。建议用控件ID号,对其直接进行控制。
      

  4.   

    那你GetWindowText(),SetWindowText().
      

  5.   

    我觉得如果你的对话框比较复杂,最好在对话框类中给控件填加Control型的就量,这样可以随时控制控件的状态,并且控件之间的变化不会相互影响。不像UpdateData(true/false)一执行,所有的控件都受影响!
    当然,你如果不想填加CONTROL类型的变量,你也可以直接去控制控件,方法如下!
    比如一个编辑框的ID为ID_EDIT,
    GetDlgItem(ID_EDIT)->SetWindowText("asdasda");//设置控件的CAPTION属性
    GetDlgItem(ID_EDIT)->GetWindowText("asdasda");//获得控件的CAPTION属性
      

  6.   

    忘了说一点,一般对控件的操作最好是在Dlg执行DoModal()之后,执行OnCancle()或者
    OnOK()之前!否则可能会出错吧!因为那时候对话框资源已经不存在了!
      

  7.   

    问题总结:
        尽量不要在别的类中操作对话框中的控件和变量,我最后改变策略,在对话中从其它类中得到数据Tue(玄天) 15   mingbao(★情已逝★) 15   goodboyyxh(杭州烘烘)  15  khwidesea(阔海) 5