zoukankan      html  css  js  c++  java
  • 转:VC中UpdateData()函数的使用

    VC中UpdateData()函数的使用
    UpdateData(FALSE)与UpdateData(TRUE)是相反的过程     
    UpdateData(FALSE)是把程序中改变的值更新到控件中去 
    UpdateData(TRUE)是把在控件中输入的值更新到你的变量中去
    TRUE    ===> 控件    -〉数据成员 
    FALSE ===>   数据成员 -〉 控件     
    比如你的一个编辑框控件c_Edit变量s_Edit相关联 
    在程序中你用了     
    s_Edit="CSDN" 
    但是你在编辑框中输入"NDSC" 
    如果你用的是UpdateData(FALSE)的话你的编辑框内容将是“CSDN” 
    如果你用的是UpdateData(TRUE)的话 s_Edit将变成“NDSC”
    如要让m_edit的内容立即生效 
    UpdateData(FALSE); 
    m_edit.UpdateWindow();//这句不能少,否则不会立即生效
     
    修正:

    如要让m_edit的内容立即生效
    UpdateData(FALSE);
    UpdateWindow();//这句不能少,否则不会立即生效
    EDIT控件没有UpdateWindow这个成员函数,所以直接使用
    例如:
    m_name="";
    m_mima="";
    UpdateData(FALSE);
    UpdateWindow();

    ============================

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

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

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

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

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

    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);

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

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

  • 相关阅读:
    表单验证
    obs 之 OBSObj
    rtmp流媒体协议分析(h264、aac)
    lintcode 508.Wiggle Sort
    SVN备份批处理文件
    防火墙没关导致 ORA-12541: TNS: 无监听程序
    [转]window10系统安装oracle11g时遇到INS-13001环境不满足最低要求
    关键驱动因素、约束和浮动因素
    C#之虚函数 非常清晰全面的讲解
    今天有个朋友问我抽象方法和接口的区别,为了解释清楚这个事情,我在网上看到一篇文章讲的非常好给大家分享一下,也感谢原作者的付出
  • 原文地址:https://www.cnblogs.com/yfz0/p/5257834.html
Copyright © 2011-2022 走看看