MFC 两个窗口 传递值
来源:互联网 发布:sap hana数据库 编辑:程序博客网 时间:2024/05/17 03:46
如题,简单来说, 就是在 B中定义一个方法 Func, 用来获取B中输入的结果, 同时,在A 中,调用 B 的Func , 就OK。
核心代码如下:
SafeDataDlg dlg;if (dlg.DoModal() == IDOK){// ----------关键代码mDemo = dlg.GetDemo();EDIT_TEXT.SetWindowText(mDemo.name);}
--------------------------------------------------------------------------------------------------------------------------
1、问题描述
窗口A要使用窗口B输入的值。
窗口B:
窗口A:
A中的123 不是 默认设置的。
这里,A中显示B中传过来的 值。
2、解决方案之一
建好一个MFC 窗口应用程序,基于对话框的。
A、新建一个结构体,我用来保存输入的数据:
struct demo{CString name;};B、在资源管理器中,打开资源文件.rc,找到 Dialog, 新建一个 dialog。 并添加好如下的控件 (Edit control + button):
C、双击刚刚新建的这个Dialog, 添加对应的类名:
D、对步骤 B 中的控件 设置好属性: ID, 和 控件变量。
E、 在刚刚新建的dialog 添加的类中 添加 结构体 属性:
包含 结构所在文件:
#include "typedef.h"比如,我 在步骤 C中添加的类是 dialog1, 就找到这个类。 添加下面的属性:
private:demo mDemo;同时,在这个类中,我还添加了个方法。 用来获取属性值:
demo GetDemo();我对这个函数是这样实现的:
return mDemo;对, 就这一句。
F、回到刚刚新建的 dialog 中, 咱们不是新建了一个 按钮嘛。 双击它, 添加 在其事件中添加如下代码:
CString tmp; EDIT_TEXT.GetWindowText(tmp);if (tmp.GetLength()> 0){mDemo.name = tmp;}CDialogEx::OnOK();
G、回到主对话框所在的资源文件 , 就是工程创建时对应的那个默认对话框, 找到其资源文件,添加如下控件, 添加好控件变量:
H、找到 主对话框 对应的 .cpp ,在文件顶部 包含 窗口 B所在头文件:
#include "Dialog1.h"I、同样的,找到 主对话框所在的 .cpp , 找到函数 OnInitDialog () :添加如下 自定义代码:
CDialogEx::OnInitDialog();// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动// 执行此操作SetIcon(m_hIcon, TRUE);// 设置大图标SetIcon(m_hIcon, FALSE);// 设置小图标// TODO: 在此添加额外的初始化代码//---------------- 自定义代码---------------------SafeDataDlg dlg;if (dlg.DoModal() == IDOK){mDemo = dlg.GetDemo();EDIT_TEXT.SetWindowText(mDemo.name);}
3、 结果:
1 1
- MFC 两个窗口 传递值
- MFC中, 子窗口的值传递给父窗口
- .net 两个窗口传递信息
- 基于对话框的MFC窗口之间值的传递
- MFC不同窗口之间传递数据
- mfc对话框窗口之间变量的传递
- MFC不同窗口之间传递数据
- MFC窗口之间的消息传递
- 关于两个窗口间的数据传递
- 两个窗口之间信息的传递 C#
- 两个窗口之间信息的传递 C#
- 两个窗口之间传递信息2
- MFC中两个对话框之间数据传递
- MFC中两个对话框之间数据传递
- MFC中两个对话框之间数据传递
- MFC 两个对话框直接的消息传递
- MFC中父窗口和子窗口消息的传递
- MFC多线程--把当前窗口所有传递给线程函数
- Java__给定一个数组 AA,除了一个数出现一次之外,其余数都出现三次。找出出现一次的数。
- javascript学习记录
- Windows错误码编码问题
- PAT甲级1021. Deepest Root (25)
- Gym
- MFC 两个窗口 传递值
- HRBUST
- 斐波那契数列的四种简单实现方式
- Java OOP day03
- C# 分词算法,ChineseAnalyzer,源代码分析,其他地方的代码都是稀烂。。。。
- 蚂蚁感冒
- RHEL 5.7 Yum配置本地源[Errno 2] No such file or directory
- 海量数据处理问题之面试题
- ubuntu14.04搜狗输入法不能输入中文问题