control型变量是这个控件所属类的一个实例(对象)可以通过这个变量来对该控件进行一些设置。
而value只是用来传递数据,不能对控件进行其它的操作。
control型变量可以获得控件的实例,通过这个变量,你可以操纵控件

value型变量仅仅可以获得该控件的public型变量

如果你添加了一个m_CtrlEdit的control型变量你可以调用控件支持的所有函数,如:

m_CtrlEdit.GetStyle(...)

获得控件的输入内容或者说文本内容:

CString str_name;
m_CtrlEdit.GetWindowText(str_name);

MessageBox(str_name,"提示",0);

而value型变量一般用于向控件传递数据,如:变量为CString 类型的 m_Str   m_Str="hustwjz";  
   
UpdateData(FALSE); //可以向控件传递数据
    
    
UpdateData(TRUE); //可以从控件获得数据

获得输入数据后可以进行相应操作.以下是写文件用到的,把输入的内容写入文件

UpdateData(TRUE);
   student.age=m_age;
   strcpy(student.name,m_char);

CString fPath;
   fPath=GetAppPath();

IniFileHandle->m_FileName.Format(_T("%s"),fPath+_T("student"));
   IniFileHandle->OpenFile(1);
   IniFileHandle->Serialize(student);
   IniFileHandle->CloseFile();

可以使用成员变量来代替某个控件,当控件发生变化时,该成员变量的值也发生变化;
ClassWizard增加成员变量的时候,选择value类型可以创建一个包含由用户来输入
控件文本和控件状态的成员变量;选择Control类型,我们可以对这个控件直接进行访问;

control就是控件,可以得到长度   高度   是不是可用   是不是可见

value是个字符串,跟控件绑定在一起,可以通过UpdateData(TRUE/FALSE)相互更新;

Value   就是一个变量

control   就是一个控件。

主要的区别也就是     变量     和     控件之间的区别,虽然他们实质上都是一样的。 
可是选择   Value   ,MFC   会把控件的内容对应到一个变量上。除非你用其他API取得这个 
控件进行操作,否则,就是一个变量而已。主要的用途是   UpdateData。进行数据读些。 
而作为控件,把就是把这个东西直接对应到了一个控件对象上去,比如   CEdit   对象。 
你可以直接用这个对象来进行操作。熟悉了之后,就是一个怎么用怎么方便的问题。从其 
实质来说,我认为没有什么区别,都是控件。不表示,你选了value   ,其控件就不存在, 
只是说选择value   ,MFC的wizard   做了跟多事情,让你面对这个控件可以把它看作一个值而已。

控件中添加的成员变量value和control的区别的更多相关文章

  1. 在RichTextBox控件中添加图片和文字

    public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...

  2. 在RichTextBox控件中添加超链接文本

    实现效果: 知识运用: RichTextBox控件的AppendText方法 public void AppendText{string textData} //向控件中添加文本内容 和Process ...

  3. C#中向ListView控件中添加一行数据

    C#中向ListView控件中添加一行数据: ,先声明一个ListViewItem: ListViewItem item = new ListViewItem(); ,添加第一列数据: item.Te ...

  4. MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致

    1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...

  5. DataGridView控件中添加ComboBox下拉列表框的实现

    //ComboBox控件拖放到DataGridView控件的某个位置 //添加年龄下拉框 private void BindAge() { //我这里添加的是静态数据,一般都是从数据库读出来的,这里就 ...

  6. (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明

    Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...

  7. 禁止DataGridView控件中添加和删除行

    实现效果: 知识运用: DataGridView控件的AllowUserToAddRows AllowUserDeleteRows和ReadOnly属性 实现代码: private void btn_ ...

  8. 重绘控件中OnPaint、OnDraw、OnDrawItem和DrawItem的区别

    ==================================================================================================== ...

  9. vs2013在用户控件中添加jquery智能提示

    一.在script文件夹下面添加_references.js文件夹 二.把jquery文件拖到该文件中 保存,重新打开相应的文件,即出现智能提示

随机推荐

  1. 6.Python初窥门径(小数据池,集合,深浅拷贝)

    Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的 ...

  2. echart表格,动态的通过ajax从后台获取数据动态的展示数据

    官网上都是介绍的echar表格的展示方法,但是都是静态数据,一开始的时候我总是纳闷,这些数据都是怎么上上去的 , 后来通过一些方法,当然这些方法也不是我自己写出来的,也是通过在网上收集了一下 ,现在才 ...

  3. css各种水平垂直居中

    css各种水平垂直居中,网上查了一下,总结以下几种 line-height垂直居中 缺点,仅限于单行文字 .item{ text-align: center; height: 100px; line- ...

  4. Java EE学习笔记(八)

    动态SQL 1.动态SQL中的元素 1).作用:无需手动拼装SQL,MyBatis已提供的对SQL语句动态组装的功能,使得数据库开发效率大大提高! 2).动态SQL是MyBatis的强大特性之一,My ...

  5. springboot启动提示缺少数据源

    If you want an embedded database please put a supported one on the classpath. If you have database s ...

  6. SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)

    当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异. 笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来介绍一下项目中遇到的问题以及我的解决方 ...

  7. 通过代码理解Asp.net4中的几种ClientIDMode设置.

    以前我们可以通过ClientID在JavaScript脚本中服务器端控件.比如: document.getElementById("<%=控件.ClientID %>" ...

  8. Bootcamp Win10蓝牙鼠标的问题

    运行services.msc找到Bluetooth support service 把启动类型从手动改为自动 重新连接蓝牙鼠标

  9. NOPI Excel 读取公式生成后的数据

    using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using S ...

  10. B/S架构 C/S架构 SOA架构

    一.什么是C/S和B/S 第一.什么是C/S结构.C/S (Client/Server)结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配 ...