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

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

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

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

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

vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递_第2张图片vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递_第3张图片

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;

你可能感兴趣的:(vs2010MFC框架下,点击按钮弹出窗口,在子窗口中输入值,将这个值向主窗口传递)