VC++中两个对话框传递数据

VC++中两个对话框传递数据,第1张

"结构是主对话框(按钮)->打开对话框1(点按钮)->打开对话框2"

根据顺序,主对话框包含对话框1的头文件,对话框1又包含对话框2的头文件,这个是不用怀疑的.至于你说的问题,是想通过对话框2里控件的输入传递到对话框1呢,还是就是单一的要刷新对话框1的数据?

前者可以这样:在对话框2类里定义成员变量,比如对话框2中是个文本框,就可以为其添加成员变量CSting str,这样在对话框关闭时UpdateData(FALSE)一下.str就保留了您输入的数据.然后在对话框1类里处理你需要的 *** 作,对话框2的对象为Dlg2的话,就用Dlg2.srt,实现了参数的传递.

后者的话就更简单了,因为是单一的更新数据,不需要对话框2任何数据,所以直接在对话框1的类中直接 *** 作就可以.比如现实对话框2时用的DoModal(),那就在DoModal()之后直接SetWindowsText()或者()SetDlgItemText()或者给COMBO1直接添加字符等等都行,COMBO的使用方法在网上搜一下,应该不会出问题的.

其实只要记住一个点,就是不要企图在对话框2的类代码中直接 *** 作对话框1,一般都是先把对话框2的 *** 作记录到自己的成员变量(控件变量不行,因为关闭时都销毁了),关闭后就可以通过类似Dlg2.*获得相应数据.

创建一个查询的消息响应函数,对要d出的对话框新建一个对话框类,然后在消息响应函数里面doModel,至于要传递的数据,可以建一个全局变量来传递,在CApp中添加一个全局变量,这样可以通过一个全局函数获取全局变量,这样就实现了对话框之间的交流,或者可以把要传递的数据写入文件,然后另一个对话框读取文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6473046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-23
下一篇 2023-03-23

发表评论

登录后才能评论

评论列表(0条)

保存