社区
界面
帖子详情
模态对话框、非模态对话框与主对话框之间的数据分别是怎么传递的?
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,或者发送自定义消息。。
mfc中
模态
、
非
模态
对话框
与
主
对话框
之间
的
数据
交换
点击运行弹出一个
对话框
,点击DIALOG1按钮弹出一个
模态
对话框
,在该
对话框
的编辑框输入文本点击确定该
对话框
消失且输入的文本被显示到
主
对话框
MainDialog中,点击DAILOG2按钮弹出一个
非
模态
对话框
,操作现象和
模态
对话框
一样。
VS2010+MFC
模态
对话框
、
非
模态
对话框
的显示与打开以及
对话框
的
之间
的
数据
传递
弹出子
对话框
,在子
对话框
特定位置,显示
非
模态
对话框
,
对话框
之间
的
数据
传递
vc
非
模态
对话框
例子
在Windows环境中,
对话框
是一种常用的输入输出手段。
对话框
有两种类型,
非
模态
和
模态
。
非
模态
对话框
与
模态
对话框
不同,在
非
模态
对话框
活动的同时,用户还可以在应用程序的其他地方工作,而
模态
对话框
在其关闭之前,用户不能在同一个应用程序的其他地方工作。本例将从
主
框架窗口创建一个简单的
非
模态
对话框
,在该
对话框
关闭之前,用户可以在
主
框架窗口中的其他地方工作,比如选择“打开”文件等。
VC中
模态
对话框
和
非
模态
对话框
的编程
VC中
模态
对话框
和
非
模态
对话框
的编程
vc的
模态
对话框
和
非
模态
对话框
非
模态
的
对话框
是独立的,就是说和
主
程序可以同时交换
数据
,而
模态
的
对话框
则只能和自己交换。换句话说,
模态
对话框
很霸道,你开了它就无法在同一个应用程序中的其他地方干活了,比如那个经常用的openfile dialog。
非
模态
对话框
就很随和,开了它你还可以爱干嘛干嘛。还有一个区别在于内存分配,new在堆中,另一在栈中,一般说两者一样,但如果你在
对话框
中开了很大的空间做成员,第二种就会有问题了,因为栈空间是受限的。但据说解决栈溢出用static申明,在全局
数据
区分配内
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章