9 个解决方案
#1
你在其他类里调用这个对话框的UpdateData()啊,它好象是public的嘛。不就更新了吗?
#2
提问者:当然,public函数中已经有了UpdateData(),可就是不成功
#3
代码贴出来看看!具体问题具体分析。
模式对话框下,只有在DoModal过程中调用的UpdataData()才有用。
无模式情况下,可以调用UpdataData()更新控件内容。
建议用控件ID号,对其直接进行控制。
模式对话框下,只有在DoModal过程中调用的UpdataData()才有用。
无模式情况下,可以调用UpdataData()更新控件内容。
建议用控件ID号,对其直接进行控制。
#4
那你GetWindowText(),SetWindowText().
#5
得到对话框里控件的指针,用上面两个函数直接更新。。。还不行?那我也不知道。。。
#6
我觉得如果你的对话框比较复杂,最好在对话框类中给控件填加Control型的就量,这样可以随时控制控件的状态,并且控件之间的变化不会相互影响。不像UpdateData(true/false)一执行,所有的控件都受影响!
当然,你如果不想填加CONTROL类型的变量,你也可以直接去控制控件,方法如下!
比如一个编辑框的ID为ID_EDIT,
GetDlgItem(ID_EDIT)->SetWindowText("asdasda");//设置控件的CAPTION属性
GetDlgItem(ID_EDIT)->GetWindowText("asdasda");//获得控件的CAPTION属性
当然,你如果不想填加CONTROL类型的变量,你也可以直接去控制控件,方法如下!
比如一个编辑框的ID为ID_EDIT,
GetDlgItem(ID_EDIT)->SetWindowText("asdasda");//设置控件的CAPTION属性
GetDlgItem(ID_EDIT)->GetWindowText("asdasda");//获得控件的CAPTION属性
#7
忘了说一点,一般对控件的操作最好是在Dlg执行DoModal()之后,执行OnCancle()或者
OnOK()之前!否则可能会出错吧!因为那时候对话框资源已经不存在了!
OnOK()之前!否则可能会出错吧!因为那时候对话框资源已经不存在了!
#8
是的,不推荐在对话框外部操做控件,不符合C++封装的习惯,容易出错。
#9
问题总结:
尽量不要在别的类中操作对话框中的控件和变量,我最后改变策略,在对话中从其它类中得到数据
Tue(玄天) 15 mingbao(★情已逝★) 15 goodboyyxh(杭州烘烘) 15 khwidesea(阔海) 5
尽量不要在别的类中操作对话框中的控件和变量,我最后改变策略,在对话中从其它类中得到数据
Tue(玄天) 15 mingbao(★情已逝★) 15 goodboyyxh(杭州烘烘) 15 khwidesea(阔海) 5
#1
你在其他类里调用这个对话框的UpdateData()啊,它好象是public的嘛。不就更新了吗?
#2
提问者:当然,public函数中已经有了UpdateData(),可就是不成功
#3
代码贴出来看看!具体问题具体分析。
模式对话框下,只有在DoModal过程中调用的UpdataData()才有用。
无模式情况下,可以调用UpdataData()更新控件内容。
建议用控件ID号,对其直接进行控制。
模式对话框下,只有在DoModal过程中调用的UpdataData()才有用。
无模式情况下,可以调用UpdataData()更新控件内容。
建议用控件ID号,对其直接进行控制。
#4
那你GetWindowText(),SetWindowText().
#5
得到对话框里控件的指针,用上面两个函数直接更新。。。还不行?那我也不知道。。。
#6
我觉得如果你的对话框比较复杂,最好在对话框类中给控件填加Control型的就量,这样可以随时控制控件的状态,并且控件之间的变化不会相互影响。不像UpdateData(true/false)一执行,所有的控件都受影响!
当然,你如果不想填加CONTROL类型的变量,你也可以直接去控制控件,方法如下!
比如一个编辑框的ID为ID_EDIT,
GetDlgItem(ID_EDIT)->SetWindowText("asdasda");//设置控件的CAPTION属性
GetDlgItem(ID_EDIT)->GetWindowText("asdasda");//获得控件的CAPTION属性
当然,你如果不想填加CONTROL类型的变量,你也可以直接去控制控件,方法如下!
比如一个编辑框的ID为ID_EDIT,
GetDlgItem(ID_EDIT)->SetWindowText("asdasda");//设置控件的CAPTION属性
GetDlgItem(ID_EDIT)->GetWindowText("asdasda");//获得控件的CAPTION属性
#7
忘了说一点,一般对控件的操作最好是在Dlg执行DoModal()之后,执行OnCancle()或者
OnOK()之前!否则可能会出错吧!因为那时候对话框资源已经不存在了!
OnOK()之前!否则可能会出错吧!因为那时候对话框资源已经不存在了!
#8
是的,不推荐在对话框外部操做控件,不符合C++封装的习惯,容易出错。
#9
问题总结:
尽量不要在别的类中操作对话框中的控件和变量,我最后改变策略,在对话中从其它类中得到数据
Tue(玄天) 15 mingbao(★情已逝★) 15 goodboyyxh(杭州烘烘) 15 khwidesea(阔海) 5
尽量不要在别的类中操作对话框中的控件和变量,我最后改变策略,在对话中从其它类中得到数据
Tue(玄天) 15 mingbao(★情已逝★) 15 goodboyyxh(杭州烘烘) 15 khwidesea(阔海) 5