您的位置:首页 > 其它

vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递

2017-12-17 10:28 316 查看
博主刚开始接触MFC,前几天遇到这个问题,本想通过全局变量的方法,但没有成功,在网上查阅过一些资料后,自己摸索的解决方法。如有问题和错误可直接在下方评论。

1.先插入一个对话框,如下图所示的界面,右键点击Dialog,选择插入Dialog(我这里IDD_DIALOG是新插入的)



2.如下所示的界面中(控件为自己添加),右键点击窗口,选择添加类,弹出下面的对话框,写入想添加的类名(我这里写的是ZoomDlg),这时系统会自动生成.h和.cpp文件。





3.在自己需要的控件的类中添加程序,(在这做一下声明,我是在编辑窗口中输入数字,将这个数字传递到主窗口中,其中IDC_EDIT1为编辑控件的ID,str_k为我要传递的变量,str_k的声明放在.h文件中 )
// TODO: 在此添加控件通知处理程序代码
//显示对话框,提示用户设定量
CString str;
((CEdit *)GetDlgItem(IDC_EDIT1))->GetWindowText(str);//获得
//MessageBox(str);//显示
str_k = _ttoi(str);//字符串转为int型
CDialogEx::OnOK();//退出对话框


4.在主窗口的xxxxxDlg.cpp文件中include子窗口的.h文件(我的是#include"ZoomDlg.h")

5.在需要弹出对话框的程序位置添加以下代码(再次做解释,ZoomDlg类为添加的子窗口的类名,这里需要建立一个子窗口的类才可以调用子窗口类中的变量,if中的语句是弹出子窗口,然后将我需要传递的变量赋给k)
ZoomDlg  Dlg;
if (Dlg.DoModal() != IDOK)
return;
int k= Dlg.str_k;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐