Rain_ning‘s Diaries https://passport2.21ic.com/?621237 [收藏] [复制] [RSS]

日志

如何将父对话框中的编辑框变量传递给子对话框的编辑框变量(MFC)(转载)

已有 2013 次阅读2011-4-21 07:01 |个人分类:Windows编程 MFC API|系统分类:ARM| 编辑框, MFC

第一步:在父对话框中的头文件中声明一个公开的变量(如我的父编辑框的变量显示是数字的,就定义一个int变量类型)。


              我在我的程序中的相应头文件中定义一个公开的int变量m;


第二步:在子对话框的头文件声明一个int型变量(因为我的程序是显示数字的),我的定义为times,用来获取父对话框的(你想得到的编辑框信息)值,怎么获取在下面说。


第二步:在父对话框你点击按钮进入子对话框的那个按钮函数那里进行对子对话框刚才定义的times变量进行赋值,则把父对话


              你想要得到的值赋给times,必须把父对话框的编辑框的值转化为int型。我的程序如下:


              CSetinfoDlg dlg;                                  //CSetinfoDlg为我的子对话框的类,定义子对话框的一个变量
              CString cstest;                                    //cstest 是给编辑框赋值
              m_num.GetWindowText(cstest);         //编辑框赋值函数
              m = atoi(cstest);                                  //将编辑框显示的数转化为int型
              if( m <=0 )                                           //这个不用理解,也不难理解,和本话题不相干


              {
                   MessageBox("The num must be greater than 0 !!!");
              }
              else
              {
                   dlg.times=m;                                   //将m的值赋值给子对话框的times变量,记得一定要在下面DoModal前赋值,


                                                                          //不然将会不成功
                   dlg.DoModal();                                //打开子对话框
                   CSetnumDlg::OnCancel();              //关闭父对话框
               }


第三步:在子对话框的初始化函数中将times值赋给子对话框编辑框变量,如下:


              CString str;                                          //定义一个字符串变量,用来给子对话框的编辑框赋值
              str.Format("%d",times);                       //将times的值转换为字符串类型,然后赋值给str变量
              m_times.SetWindowText(str);              //将变量str赋值给m_times(我的程序的子对话框的编辑框变量),并显示。


转载自http://yellow.shuo.blog.163.com/blog/static/13282515520109209395846/


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)