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. jQuery EasyUI/TopJUI输入框事件监听

    jQuery EasyUI/TopJUI输入框事件监听 代码如下: <div data-toggle="topjui-panel" title="" da ...

  2. 通过T4模板解决EF模型序列号的循环引用问题

    在模型的T4模板(如model.tt)中插入如下代码,这样由模板生成的模型代码中的导航属性将自动带有[JsonIgnore]标识,不会被序列化 1. 添加命名空间的引用 找到以下代码,添加using ...

  3. 2.排序检索数据 ---SQL

    order by 一.排序数据 SELECT prod_name FROM Products ORDER BY prod_name; ORDER BY子句的位置 在指定一条ORDER BY子句时,应该 ...

  4. Codeforces 1C(外接圆与正多边形)

    要点 各点肯定都在外接圆上,边越多越接近圆面积,所以要最小面积应当取可能的最少边数. 给三角形求外接圆半径公式:\(R=\frac{abc}{4S}\). 三个角度对应的圆心角取gcd即是要求的正多边 ...

  5. bzoj1014: [JSOI2008]火星人prefix splay+hash

    我写的代码好像自古以来就是bzoj不友好型的 本地跑的比std快,但是交上去巧妙被卡 答案...应该是对的,拍了好久了 #include <bits/stdc++.h> #define M ...

  6. loj#6169. 相似序列 hash+主席树

    因为他的相似是在排完序下的 那我就在排序的情况下hash啊 这怎么hash啊 主席树啊! 没了 #include <bits/stdc++.h> #define MAXNODE 50000 ...

  7. 061 Rotate List 旋转链表

    给定一个链表,将链表向右旋转 k 个位置,其中 k 是非负数.示例:给定 1->2->3->4->5->NULL 且 k = 2,返回 4->5->1-> ...

  8. RL_RTX函数

    1 延时:os_itv_set(usFrequency) //设置延时周期,配合os_itv_wait使用:os_itv_wait() 是绝对延迟是包含调用前的时间, os_dly_wait() 是相 ...

  9. Sam's Numbers 矩阵快速幂优化dp

    https://www.hackerrank.com/contests/hourrank-21/challenges/sams-numbers 设dp[s][i]表示产生的总和是s的时候,结尾符是i的 ...

  10. 表单验证插件jquery.validate.js

    最常使用JavaScript的场合就是表单的验证,而jQuery作为一个优秀的JavaScript库,也提供了一个优秀的表单验证插件----Validation.Validation是历史最悠久的jQ ...