zoukankan      html  css  js  c++  java
  • MFC中UpdateData()用法

    一、总结UpdateData()函数

    UpdateData(true);//用于将屏幕上控件中的数据交换到变量中。

    UpdateData(false);//用于将数据在屏幕中对应控件中显示出来。

           当你使用了ClassWizard建立了控件和变量之间的联系后:当你修改了变量的值,而希望对话框控件更新显示,就应该在修改变量后调用UpdateData(FALSE);如果你希望知道用户在对话框中到底输入了什么,就应该在访问变量前调用UpdateData(TRUE)。

    关于关联变量,一个编辑框可以和CEdit变量关联,也可以和CString变量关联。

    二、关于编辑框的赋值和取值

    向编辑框中赋值和取值时:

    1、建一个 控制型的变量,如m_edit1,用CWnd的SetWindowText() 和GetWindowText()来赋值和取值。

    m_Edit1.SetWindowText("Hello"); 

    或者GetDlgItem(IDC_EDIT1)->SetWindowText(str);

    2、建立一个控制型的变量,如m_edit1,用SetDlgItemText()和GetDlgItemText()来赋值和取值

    CString Str="Hello":

    m_edit1.SetDlgItemText(IDC_EDIT1,str);

    关联控制型变量时,会在DoDataExchange中,使用DDX_Control(pDX,IDC_EDIT,m_edit1);进行关联

    2、直接建一个数值形的变量如m_strEdit;   用  UpdateData()来控制得到变量,还是更新变量。

    关联CString变量的话,会在对话框类的构造函数中,进行初始化,在DoDataExchange中,通过DDX_Text(pDX,IDC_EDIT,m_EditText),进行对象的绑定。

    //取值   
      UpdateData(TRUE);   
      CString   buf   =   m_Edit1;    
      //赋值   
      m_Edit1="ok!";   
      UpdateData(FALSE);

    另外注意一点:

    使用UpdateData()函数时,当前界面上所有绑定了的变量(即通过MFC ClassWizard给控件添加了对应的变量)都会被UpdateData(TRUE)更新成对应控件中的内容;同样所有绑定了变量的控件中的内容也会UpdateData(FALSE)更新成对应变量中的内容。

    要接受用户的输入就true,

    要输入结果给用户就flase

    数据量不多的话,最好用SetDlgItemText()和GetDlgItemText()

  • 相关阅读:
    Linux常见问题解决
    (转)CoreDNS:Kubernetes内部域名解析原理、弊端及优化方式
    (转)Go sync.WaitGroup的用法
    (转)5个维度对 Kubernetes 集群优化及压测方案
    使用 Alpine 作为基础镜像时可能会遇到的常见问题的解决方法
    提前预防K8s集群资源不足的处理方式配置
    docker runc升级
    Nginx常见问题解决
    DNS泛域名解析应用(nip.io)
    使用Velero备份Kubernetes集群
  • 原文地址:https://www.cnblogs.com/shikamaru/p/7814773.html
Copyright © 2011-2022 走看看