模态对话框、非模态对话框与主对话框之间的数据分别是怎么传递的?

MengHan6 2013-12-03 04:05:02
望有大神给出相关的资料或参考,急急急 在线等 谢谢
...全文
131 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
encoderlee 2013-12-03
  • 打赏
  • 举报
回复
方法很多,比如: 1.各对话框对象之间,相互保存对方的指针或引用(比如通过构造函数传递进去),然后就可以用指针来访问别人的公有变量或方法来实现传递数据。 2.不传递窗口对象指针,只传递需要交换数据的变量的指针或引用。比如主对话框在显示一个模态对话框前,构造这个模态对话框对象,通过构造函数传递进去主对话框的一个成员变量m_str的地址,然后DoModal显示模态对话框,模态对话框对m_str进行赋值,DoModal返回后,主对话框就得到了数据。 还有什么AfxGetApp、AfxGetMainWnd利用起来也会方便很多。 不过这样会造成类的耦合度太高,程序写大了会越来越乱,所以推荐用自定义消息来传递,虽然麻烦点。 或者是起初就对整个程序思考如何设计,把界面和逻辑业务分开,界面只负责获取用户输入和输出结果。 数据的管理、处理都由一个类来完成,该类按照单例模式来写,提供一个全局访问点,这样所有对话框对象都可以直接和它交互、交换数据。
打你屁屁 2013-12-03
  • 打赏
  • 举报
回复
用消息机制吧。。。
寒冰雪 2013-12-03
  • 打赏
  • 举报
回复
设置parent wnd,或者发送自定义消息。。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧