控件中添加的成员变量value和control的区别
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的区别的更多相关文章
- 在RichTextBox控件中添加图片和文字
public void SetText(RichTextBox rtb) { rtb.Text = "在RichTextBox控件中添加图片和文字" + Environment.N ...
- 在RichTextBox控件中添加超链接文本
实现效果: 知识运用: RichTextBox控件的AppendText方法 public void AppendText{string textData} //向控件中添加文本内容 和Process ...
- C#中向ListView控件中添加一行数据
C#中向ListView控件中添加一行数据: ,先声明一个ListViewItem: ListViewItem item = new ListViewItem(); ,添加第一列数据: item.Te ...
- MFC在对话框中的Picture contrl控件中添加icon图标,并改变icon图标的背景色与对话框背景色一致
1.在对话框添加Picture Contrl 控件 2.选中控件,修改ID为IDC_STATIC_PICTURE 和 Type属性为icon 其图标改为 3.添加变量m_picture变量名是灰色,说 ...
- DataGridView控件中添加ComboBox下拉列表框的实现
//ComboBox控件拖放到DataGridView控件的某个位置 //添加年龄下拉框 private void BindAge() { //我这里添加的是静态数据,一般都是从数据库读出来的,这里就 ...
- (Winform)控件中添加GIF图片以及运用双缓冲使其不闪烁以及背景是gif时使控件(如panel)变透明
Image img = Image.FromFile(@"C:\Users\joeymary\Desktop\3.gif"); pictureBox1.Image =img.Clo ...
- 禁止DataGridView控件中添加和删除行
实现效果: 知识运用: DataGridView控件的AllowUserToAddRows AllowUserDeleteRows和ReadOnly属性 实现代码: private void btn_ ...
- 重绘控件中OnPaint、OnDraw、OnDrawItem和DrawItem的区别
==================================================================================================== ...
- vs2013在用户控件中添加jquery智能提示
一.在script文件夹下面添加_references.js文件夹 二.把jquery文件拖到该文件中 保存,重新打开相应的文件,即出现智能提示
随机推荐
- 阿里云服务器新手安装nginx
1.域名购买之后 备案. 2.购买服务器. 3.这两个条件具备之后进行下一步. 本人使用Mac ,实践流程按照Mac本的流程操作. 作为初学者,简配的服务器, 实例类型: I/O优化,操作系统: Ce ...
- SpringBoot2.0 基础案例(13):基于Cache注解模式,管理Redis缓存
本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.Cache缓存简介 从Spring3开始定义Cache和Cac ...
- angularJs 指令调用父controller某个方法
1.父级controller:例如有个 init() 方法; 父级与子级的通信数据是$scope.controlFlag={}; 那么可以在父级controller里这样写:$scope.contro ...
- EasyPOI 教程以及完整工具类的使用
因为项目的原因需要用到POI来操作Excel 文档,以前都是直接使用POI来操作的,但是最近听到easypoi的存在,所以自己简单的尝试了下! 别说,他还真的挺好用的 Easypoi介绍 Easypo ...
- Luogu P1447 [NOI2010]能量采集 数论??欧拉
刚学的欧拉反演(在最后)就用上了,挺好$qwq$ 题意:求$\sum_{i=1}^{N}\sum_{j=1}^{M}(2*gcd(i,j)-1)$ 原式 $=2*\sum_{i=1}^{N}\sum_ ...
- c# 类名不同,字段相同,如何快速给类赋值
1,相关的两个类如下:现在我们知道短信的值,如何给微信来赋值呢,需要用到我们的反射,当然字段一一赋值也可以,但是如果字段有100个,这个方法就不行啦 /// <summary> /// 短 ...
- SPRING代理模式
1.静态代理 主题对象:Student public interface Student { public String add(); } 目标对象:RealStudent public class ...
- jquery实现的导航栏切换
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript笔记3--标识符和保留字
1.标识符 javaScript标识符必须以字母,下划线(_)或美元符($)开始.后续的字符可以是字母/数字/下划线/美元符.也可以使用非英语语言或数学符号来书写标识符; 2.保留字 break/de ...
- ArcGIS for Server 10.3.X 新型紧凑型缓存的解读和应用
早在2010年年底,牛魔王中王在其博客空间牛魔王的作坊中对ArcGIS 10中推出的紧凑型缓存格式进行了详细的解读,详见<ArcGIS 切片缓存紧凑文件格式分析与使用>.紧随着的4年时间里 ...