vc里面怎样实现对话框之间传递变量的值

简介: Dialog1的类名是CDialog1, 头文件是dialog1.h。里有成员变量CString str1, str2;Dialog2的类名是CDialog2, 头文件是dialog2.h。里有成员变量CString str11, str22;要想将Dialog1里的变量传递给Dialog2里的变量...
Dialog1的类名是CDialog1, 头文件是dialog1.h。里有成员变量CString str1, str2;
Dialog2的类名是CDialog2, 头文件是dialog2.h。里有成员变量CString str11, str22;
要想将Dialog1里的变量传递给Dialog2里的变量,可以用这种方法:
在类 CDialog1 的头文件里,引入Dialog2的头文件: #include "dialog2.h"
在类 CDialog1 的定义里声明Dialog2的对象: CDialog2 m_Dialog2;
在类 CDialog1 的cpp文件里的初始化函数里(其实应该在你需要的时候进行如下操作),
UpdateData(TRUE);
str1.Format("xixi");
str2.Format("haha");
m_Dialog2.str11 = str1;
m_Dialog2.str22 = str2;
UpdateData(FALSE);
这样,就把值已经传给Dialog2了!
要是想在Dialog2里使用str11,str22的时候,加上UpdateData(TRUE);


Eg: 如将登录对话框中用户名编辑框中的值(ID号:IDC_EDIT_USERNAME,变量名:m_username),传给主窗体,在主窗体状态栏下显示,且来m_user变量来保存。则方法如下:

在登录对话框头文件件中声明:主窗体头文件,并声明对象如:
#include "DebugDlg.h"

CDebugDlg dlg_confirm;

然后在登录对话框窗体中需要调用的地方,写入以下代码:

  UpdateData(TRUE);

  GetDlgItemText(IDC_EDIT_USERNAME,m_username);

  //MessageBox(m_username,"1");

   dlg_confirm.m_user=m_username;
  // MessageBox(dlg_confirm.m_user,"2");
 
  UpdateData(FALSE);

  dlg_confirm.DoModal();

 

然后,在主窗体中,直接使用m_user变量即可,此时主窗体中m_user变量保存的就是登录对话框中m_username中的值。

技术改变世界! --狂诗绝剑
目录
相关文章
VS2010(VC10)如何查看某个类的变量(函数)使用情况
VS2010(VC10)如何查看某个类的变量(函数)使用情况
|
2天前
|
C语言
LabVIEW局部变量和值属性节点之间的区别
LabVIEW局部变量和值属性节点之间的区别
|
5月前
|
C# 数据安全/隐私保护
C# 窗体之间参数互相传递的两种方法与使用
C# 窗体之间参数互相传递的两种方法与使用
|
9月前
|
移动开发 小程序 JavaScript
uniapp进行条件编译的两种方法?小程序端和H5的代表值是什么
在 UniApp 中,可以使用条件编译来根据不同的平台(小程序、H5 等)进行不同的代码处理。有两种主要的方法来实现条件编译:使用 mp 属性和条件注释。
西门子S7-1200PLC变量表如何使用?如何声明、选用、显示、定义、更改变量?变量保持性如何设置?
在S7-1200 CPU的编程理念中,特别强调符号寻址的使用,在开始编写程序之前,用户应当为输入、输出、中间变量定义相应的符号名,也就是标签。具体步骤如下:
西门子S7-1200PLC变量表如何使用?如何声明、选用、显示、定义、更改变量?变量保持性如何设置?
【QT】解决QT两个类之间传递变量失败,或者extern变量引用无效。
【QT】解决QT两个类之间传递变量失败,或者extern变量引用无效。
|
Python
PyQt5 技巧篇-增加一个类级变量,类级变量的设置方法,类级“常量“设置方法
PyQt5 技巧篇-增加一个类级变量,类级变量的设置方法,类级“常量“设置方法
286 0
|
Windows 开发工具
UWP项目生成错误: 未能使用“CompileXaml”任务的输入参数初始化该任务。“CompileXaml”任务不支持“PlatformXmlDir”参数。请确认该参数存在于此任务中,并且是可设置的公共实例属性。
项目属性: 目标版本 16299  最低版本 14393   解决方法:目标版本 15063 最低版本 14393   The issue is a bug in the Windows SDK that is causing an incompatible MSBuild tasks as...
1444 0