• 按钮控件的介绍

界面设计如下:

要将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编程循序渐进》——基本控件的更多相关文章

  1. 深入Windows窗体原理及控件重绘技巧

    之前有学MFC的同学告诉我觉得Windows的控件重绘难以理解,就算重绘成功了还是有些地方不明白,我觉得可能很多人都有这样的问题,在这里我从Windows窗体的最基本原理来讲解,如果你有类似的疑惑希望 ...

  2. Windows phone 自定义用户控件(UserControl)——ColorPicker

    编码前 学习Windows phone自定义用户控件,在<WPF编程宝典>学习的小例子.并根据windows phone稍微的不同,做了点修改.ColorPicker(颜色拾取器):拥有三 ...

  3. [深入浅出Windows 10]分屏控件(SplitView)

    4.18 分屏控件(SplitView) 分屏控件(SplitView)是Windows 10新增的控件类型,也是Windows 10通用应用程序主推的交互控件,通常和一个汉堡按钮搭配作为一种抽屉式菜 ...

  4. atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系

    atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系 1. server控件是要server了解了标签.种类型的server控件: 1 1. ...

  5. WPF编程,将控件所呈现的内容保存成图像的一种方法。

    原文:WPF编程,将控件所呈现的内容保存成图像的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/detai ...

  6. WPF编程:textbox控件文本框数据显示最后一行

    WPF编程:textbox控件文本框数据显示最后一行 TextBox控件在接收大量数据的时候,滚动条一般在最上方,如何使滚动条随着数据的接收而向下滚动呢?比如有一个TextBox'控件txbRecvD ...

  7. Windows Phone - 按钮/button 控件

    System.Windows.Controls.Button   button控件一.button控件的各种样式的展示可以通过 …… 来给控件定义公共的样式调用样式的方法:在Button控件上添加样式 ...

  8. windows下注册ocx控件

    OCX 是对象类别扩充组件(Object Linking and Embedding (OLE) Control Extension):是可执行的文件的一种,但不可直接被执行: 是 ocx 控件的扩展 ...

  9. Windows高DPI系列控件(二) - 柱状图

    目录 一.QCP 二.效果展示 三.高DPI适配 1.自定义柱状图 2.新的柱状图 3.测试代码 四.相关文章 原文链接:Windows高DPI系列控件(二) - 柱状图 一.QCP QCP全称QCu ...

随机推荐

  1. MVC源码分析 - Controller创建和创建扩展

    上一篇, 出现了一个至关重要的类:MvcHandler, 接下来就来看一下MvcHandler吧. 先不看具体方法, 先看一下类里面的情况. //这里实现了两个重要的接口, 异步处理和同步处理的接口p ...

  2. Angularjs中的嵌套路由ui-router

    先看看ng-router和ui-router的区别 (1)ng-route的局限性:一个页面无法嵌套多个视图,也就是说一个页面只能有包含一个页面一个控制器的切换.  (2)ui-route的改进:在具 ...

  3. IntelliJ IDEA中类似Eclipse自动补全变量名称和属性名称的快捷键

    IntelliJ IDEA 默认快捷键模式下 自动补全变量名称 : Ctrl + Alt + v 自动补全属性名称 : Ctrl + Alt + f

  4. on事件绑定阻止冒泡的问题

    当使用on进行事件绑定时当要给document绑定click,而子元素要禁止冒泡,那么子元素里面的子元素的click事件就会无效了, 下面无效版: $('#queue').on('click', '. ...

  5. Unity3D脚本使用:物体调用物体

    如下图4种方式: 方式5 通过Tag定位物体 1.先对物体定义标签Tag,可选已有或自定义 2.通过Tag名称找到对象 注意:如果标签对应多个对象,需使用获取对象集合再进行处理

  6. AndroidAsyncHttp 临时修复 JsonHttpResponseHandler 避免死循环

    由于 AndroidAsyncHttp 1.4.4 的 JsonHttpResponseHandler  存在死循环的 BUG,1.4.5 版本发布不知道要何时,所以只能临时替换该类来修复这个错误. ...

  7. Laravel默认使用utf8_unicode_ci 即使数据库是utf8_general_ci

    这样做的后果是,不方便和utf8_general_ci字符串字段进行JOIN查询ON.

  8. 《css揭秘》

    <css揭秘> 第一章:引言 引言 案例们 第二章:背景与边框 背景和边框 半透明边框(rgba/hsla.background-clip) 多重边框(box-shadow) 灵活的背景定 ...

  9. 【4】学习JS 数据结构与算法笔记

    第一章 JS 简介 1. 环境搭建的三种方式 1. 下载浏览器 2. 使用 Web 服务器 ( XAMPP ) 3. 使用 Node.js 搭建 Web 服务器 4. 代码地址>> 2. ...

  10. bootstrap页面模板

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...