社区
新手乐园
帖子详情
C++程序中两个对话框之间传递数据的问题
jiafeicat6
2017-09-07 10:55:08
请大家帮助我实现以下功能:
点击确定按钮,主对话框Combobox控件“CAN通道号”选择的数字在子对话框的Edit控件中同步显示。
谢谢。
界面如下:
...全文
308
4
打赏
收藏
C++程序中两个对话框之间传递数据的问题
请大家帮助我实现以下功能: 点击确定按钮,主对话框Combobox控件“CAN通道号”选择的数字在子对话框的Edit控件中同步显示。 谢谢。 界面如下:
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiafeicat6
2017-09-07
打赏
举报
回复
谢谢,我试试,成功了就结贴。
mk_lucifer
2017-09-07
打赏
举报
回复
给你贴段代码 这是更新时的执行,大致内容就是如果时保存,就将IDC_COMBO1控件的选择内容写再a里,如果是恢复(读取),则将a恢复到 IDC_EDIT1控件。 DoDataExchange(CDataExchange* pDX) { DDX_Control(pDX,IDC_COMBO1,box); if(pDX->m_bSaveAndValidate==TRUE) box.GetLBText(0,a); else DDX_Text(pDX,IDC_EDIT1,a); CDialogEx::DoDataExchange(pDX); } //这个就是你选择的事件, OnCbnSelchangeCombo1() { // TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); UpdateData(FALSE); } 图简单,但无章法就这要那个用 OnCbnSelchangeCombo1() { box.GetLBText(0,a); DDX_Text(pDX,IDC_EDIT1,a); } 但这么搞没办法总体上控制操作。建议一切数据交换都放在DoDataExchange(CDataExchange* pDX)其他任何地方不要写
mk_lucifer
2017-09-07
打赏
举报
回复
第一句话可以忽略,最开始并没注意到你用的是MFC,准备告诉你C++语言无框架的裸奔方法,所以全是扯淡。。
mk_lucifer
2017-09-07
打赏
举报
回复
数据的事件处理,即数据上下文里有Changed事件。这是最简单易行的方式。 不过C++里没有事件,但事件本质是函数回掉,所以用同样原理也可以实现。 很简单只要在DoDataExcharge 仍一句 DDX_Text(pDX, EditID,Var) Var就是你要绑定的变量。 顺便给你将一下原理,MFC的无论是窗口还是对话框,都继承了两个方法,一个叫UpdateData,一个叫 DoDataExcharge ,这两个函数就是用来实现数据更新。 道理很简单,UpdateData(bool true_flase), 是个公共方法,TRUE代表保存,即UI控件值保存到变量,false代表反向,将变量值写到控件显示。 可以类比文件保存,和文件读取功能。 调用者不关心你到底保存了什么,读取了什么,他只控制读取还是保存, 对话框编写者则需要对实际动作负责,这时就要编写DoDataExcharge UpdateData在内部调用DoDataExcharge,他是个虚方法,你可以继承来做任何事, 你需要在这里具体些更新代码DDX_Text(pDX, EditID,Var)就是用来改变控件文本的,pDX里包含更新要用的必须参数,特别是里边有更新方向的参数。当然作为抽象类,你可以在里面做任何事,只要你门编程严格按照规范,靠UpdateData(bool true_flase)来更新数据,而不是自己随意一个地方写,那么这就是一个很棒的东西。你可以在这里控制是否应该更新,或者记录操作日志,和检擦编辑错误。 不过MFC这个东西,过去看来真的很棒,不过和C#的 Binding 标签的易用性相比,你只能感叹,技术革新一大目的事为懒人准备的。。MFC确实老了。。
如何在V
C++
中
两个
对话框
相互传递信息
但是模态
对话框
只能在对弹出的当前子窗口进行操作,而不能对父窗口进行操作,也无法
传递数据
到父窗口
中
,根据笔者的研究发现,采用非模态
对话框
的模式可以很好的解决这一
问题
。 在VS2008
中
新建一个就有MFC应用
程序
...
mfc
对话框
之间
的数值数值传递总结——四种方法:
头文件加入第二个类,点击函数空间,加入以下,弹出下一个
对话框
获取
对话框
的文本值 外部定义全局变量: Cstring globalmsg; Getdlgitem(IDC_EDIT1,global_msg)l//将文本框数值赋值给msg 新文本框想...
c++
对话框
之间
传递信息(自定义消息sendmessage)
建了一个基于
对话框
的MFC
程序
,在主
对话框
中
添加tabcontrol控件,又新建了
两个
Dialog(CDialog1和CDialog2),将它们设为tabcontrol控件的子
对话框
。 目的:
两个
子
对话框
之间
传递消息,子
对话框
与主
对话框
传递消息。 ...
VS2017/
C++
/MFC
问题
:
对话框
往另外一个
对话框
传数据
对话框
往另外一个
对话框
传数据
V
C++
开发学习三(
对话框
之间
的信息传递的方法总结)
以模态
对话框
为例进行不同
对话框
之间
的信息传递 这里主要是通过主
对话框
的编辑框,输入信息,然后传递给模态
对话框
的编辑框同时在模态
对话框
取消或者确定时向主
对话框
的编辑框
中
显示信息,几种方法都是这样的例子。 ...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章