《Windows编程循序渐进》——基本控件
- 按钮控件的介绍
界面设计如下:
要将Group属性设为True才可以添加变量:
给4个Radio Button关联变量:
有时候我们在更改控件ID的时候,会提示出:
但实际上已经没有这个ID了,只要我们重新编译一下再改就行。关联完变量之后会在MFCButtonDlg.h中多出这几个成员变量:
给Button添加代码如下:
运行结果如下:
- 使用编辑框控件
记事本的中间就是一个编辑框。
界面设计如下:
给这些编辑框依次添加变量:
通过在这里设置属性来决定对其方式:
多行文本的实现要设置三个属性:
这样带滚动条的编辑框会出现:
竖着的滚动条则这样设定:
效果如下:
文版框中隐藏字符设置属性:
效果如下:
设置只读属性:
效果如下:
其它属性的设置类似,这里不一一列举了,运行效果如下:
- 列表框控件的使用
界面设计如下:
给ListBox关联变量:
给编辑框关联变量:
给AddButton添加代码如下:
运行后发现,即便编辑框里不为空,还是会弹窗:
Why?原因在于我们的编辑框并没有相应Change事件:
再次运行:
添加成功。
删除动作:
- 组合框控件的使用
界面如下:
给ComBox添加成员变量:
给下边的编辑框添加内容:
给Button添加代码:
运行:
仅仅是这样是无法把szFruit添加到ComBox中的。因为EditBox初始时是空的,当你向EditBox中填入数据时,必须去UpdateData才行,否则EditBox一直认为自己是空的。
而如果我们添加了这两句:
那么一上来初始化时就会在ComBox中显示出内容:
但是一上来初始化时ComBox里都是空的,太不美观,我们一上来要往里边添加一些内容:
我们下面要实现的功能就是当选中ComBox中的某个内容时,往中间的EditBox中去显示。
先给中间两个EditBox添加变量:
添加代码:
然而运行后我们发现,当改变ComBox后,中间Edit框并没有发生变化:
原因很简单,是因为我们不应该响应Change事件,而应该响应Select事件:
还是刚才上面的代码:
运行结果如下:
- 阶段性总结:
我们发现,其实,这些空间的Change时间、Button的消息响应等,都是主对话框的成员函数。
这些成员函数是消息响应函数,是当你这个消息或事件发生的时候,就运行了这个函数。比如,当按下Button按钮时,就运行了void CMFCComBoxDlg::OnBnClickedButton1();再ComBox空间Change的时候,就运行了void CMFCComBoxDlg::OnCbnSelchangeCombo1()
函数。
《Windows编程循序渐进》——基本控件的更多相关文章
- 深入Windows窗体原理及控件重绘技巧
之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望 ...
- Windows phone 自定义用户控件(UserControl)——ColorPicker
编码前 学习Windows phone自定义用户控件,在<WPF编程宝典>学习的小例子.并根据windows phone稍微的不同,做了点修改.ColorPicker(颜色拾取器):拥有三 ...
- [深入浅出Windows 10]分屏控件(SplitView)
4.18 分屏控件(SplitView) 分屏控件(SplitView)是Windows 10新增的控件类型,也是Windows 10通用应用程序主推的交互控件,通常和一个汉堡按钮搭配作为一种抽屉式菜 ...
- atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系
atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系 1. server控件是要server了解了标签.种类型的server控件: 1 1. ...
- WPF编程,将控件所呈现的内容保存成图像的一种方法。
原文:WPF编程,将控件所呈现的内容保存成图像的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/detai ...
- WPF编程:textbox控件文本框数据显示最后一行
WPF编程:textbox控件文本框数据显示最后一行 TextBox控件在接收大量数据的时候,滚动条一般在最上方,如何使滚动条随着数据的接收而向下滚动呢?比如有一个TextBox'控件txbRecvD ...
- Windows Phone - 按钮/button 控件
System.Windows.Controls.Button button控件一.button控件的各种样式的展示可以通过 …… 来给控件定义公共的样式调用样式的方法:在Button控件上添加样式 ...
- windows下注册ocx控件
OCX 是对象类别扩充组件(Object Linking and Embedding (OLE) Control Extension):是可执行的文件的一种,但不可直接被执行: 是 ocx 控件的扩展 ...
- Windows高DPI系列控件(二) - 柱状图
目录 一.QCP 二.效果展示 三.高DPI适配 1.自定义柱状图 2.新的柱状图 3.测试代码 四.相关文章 原文链接:Windows高DPI系列控件(二) - 柱状图 一.QCP QCP全称QCu ...
随机推荐
- Swift之父Chris Lattner将从Apple离职,加入特斯拉
1月10日,Swift编程语言之父 Chris Lattner 在 swift-evolution 邮件列表中宣布,他将于本月底离开 Apple,Ted Kremenek 将接替他成为 Swi ...
- eclipse安装
1.下载破解版本 地址:http://www.oyksoft.com/soft/1250.html 2.解压下载包,直接运行eclipse.exe 3.安装过程中如果遇到问题 1).如果遇到erro ...
- IOS GCD使用实例大全
GCD是大家在IOS开发过程中经常使用的一种多线程管理机制.原理这里就不多说了,大家关心的大部分都是它的使用,下面主要介绍GCD的主要方法及其实例. 1.认识主队列,感受串行队列的运行,运行结果打印的 ...
- trove taskmanger api
trove-taskmanager服务在配置实例,管理实例的生命周期以及对数据库实例执行操作方面做了很多工作.taskmanager会通过Nova.Swift的API访问Openstack基础的服务, ...
- MySQL对NULL值的处理
mysql: 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,M ...
- C# Volatile 类
关于C#中Volatile类的具体信息,请访问MSDN: https://msdn.microsoft.com/en-us/library/system.threading.volatile(v=vs ...
- linux下如何查询jdk安装路径
1:echo $JAVA_HOME 使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径 [root@localho ...
- C# 语言规范_版本5.0 (第19章 附录A_文档注释)
A. 文档注释 C# 提供一种机制,使程序员可以使用含有 XML 文本的特殊注释语法为他们的代码编写文档.在源代码文件中,可以使用特定形式的注释来指导工具从这些注释及其后的源代码元素生成 XML.使用 ...
- HTML5学习总结——本地存储
一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...
- html使用css让文字多行超出部分用省略号三个点显示的方法案例
text-overflow: -o-ellipsis-lastline;overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-w ...