zoukankan      html  css  js  c++  java
  • vc里面怎样实现对话框之间传递变量的值

    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中的值。

  • 相关阅读:
    Vue中使用axios时post传参之请求体带参
    MyBatisPlus常用功能之简介
    常用命令一二三之练习题
    常用命令之三
    常用命令之二
    常用命令之一
    阿里云之轻量文件分布式服务器-fastDFS
    js三座大山之三:异步和单线程
    js三座大山之二:作用域和闭包
    run build时内存溢出打包失败的解决办法
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/3298663.html
Copyright © 2011-2022 走看看