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. 基于SSM搭建网站实现增删改查

    网站源码地址:https://github.com/MyCreazy/BasicOperateWebSite.git 使用maven搭建网站的时候,记得选用war包格式,有时候maven包没有引用进来 ...

  2. 今天是 Java 诞生日,Java 24 岁了!

    今天是 Java 诞生日,Java 今年 24 岁了,比栈长还年轻..还有得搞,别慌!作为一名Java语言的学习者,对Java的起源和发展有个大概的了解应是必要的. 1991年,Sun公司成立Gree ...

  3. SP14932 LCA - Lowest Common Ancestor

    Description: 一棵树是一个简单无向图,图中任意两个节点仅被一条边连接,所有连通无环无向图都是一棵树.\(-Wikipedia\) 最近公共祖先(\(LCA\))是--(此处省去对\(LCA ...

  4. [題解](水/數學)luogu_P1147連續自然數和

    尺取法a掉 然而數學解法為 等差數列求和公式: sum(L,R)=(L+R)(R-L+1)/2=M 即(L+R)(R-L+1)=2M 可以把2M分解成两个数之积,假设分成了两个数K1,K2,且K1&l ...

  5. applicationContext中普通数据源不用jndi数据源

    applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xm ...

  6. NET Core 2.1 Global Tools

    微软工程师Nate McMaster的博文.NET Core 2.1 Global Tools https://natemcmaster.com/blog/2018/05/12/dotnet-glob ...

  7. java课后思考题(五)

    1.使用Files. walkFileTree()找出指定文件夹下所有扩展名为.txt和.java的文件. import java.io.IOException;import java.nio.fil ...

  8. Linux清空屏幕和清空当前输入的快捷键

    Linux清空屏幕和清空当前输入的快捷键 但是实际上...放弃当前的命令,命令行提示符跳到下一行的有效命令是ctrl + c

  9. 走进docker的世界之入门篇

    by zhouzhipeng from https://blog.zhouzhipeng.com/walk-in-docker-beginning.html本文可全文转载,但需要保留原作者和出处. 什 ...

  10. .net 中 Json 与List 相互转

    var duanxin1 = new DuanXin(); duanxin1.RECEIVE_LOGIN_NAME = "dd"; duanxin1.RECEIVE_Number ...