《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 ...
随机推荐
- OpenGL的状态机理解
OpenGL是一种状态机模式,比如你用glEnable打开一个状态,在以后的绘图中将一直保留并应用这个状态,除非你调用glDisable及同类函数来改变该状态或程序退出.例如当前颜色是一个状态变量,可 ...
- SQLServer批量更新
两种写法,暂未知道区别 1. UPDATE aSET a.resblockid = ( SELECT b.resblockId FROM yyy.dbo.yyy b WHERE a.unitId = ...
- 打包apk java 虚拟机内存不足
解决方案:在android->sdk->build-tools-android-version 中有个 dx.bat dx.bat --dex 命令的dx.bat脚本有这样一句代码 REM ...
- CUDA学习ing..
0.引言 本文记载了CUDA的学习过程~刚开始接触GPU相关的东西,包括图形.计算.并行处理模式等,先从概念性的东西入手,然后结合实践开始学习.CUDA感觉没有一种权威性的书籍,开发工具变动也比较快, ...
- CentOS 7上的性能监控工具
Linux中基于命令行的性能监控工具:dstat.top.netstat.vmstat.htop.ss.glances 1.dstat – 多类型资源统计工具(需配置epel源) 该命令整合了vmst ...
- shrio初体验(1)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #e6427a } p.p2 { margin: 0.0px 0 ...
- 添加JSTL 1.2 依赖库
添加JSTL 1.2 依赖库 JSTL 是一项很有历史的技术,而且版本自Java 5以来长期停留在1.2.但在做简单演示的页面时jstl依然有用,当前我们依然能看到这项技术(在博客.文档的demo里很 ...
- CodeForces 675D Tree Construction
递归,$RMQ$. 因为$n$较大,可以采用递归建树的策略. 对每一个点标一个$id$.然后按照$v$从小到大排序,每一段$[L,R]$的根节点就是$id$最小的那个. 因为二叉搜索树可能是一条链,所 ...
- 博客停写,搬家到www.54kaikai.com
博客搬家到自己的网站了www.54kaikai.com欢迎访问.
- db2 备份还原
一.导入导出 ixf: db2 export to /tmp/xxx.csv of ixf lobs to . xml to . modified by codepage=1208 "sel ...