Visaul Studio 2015 MFC控件使用之--按钮(Button)
在MFC开发当中,比较常用的控件之一便是Button控件了,该控件的除了可以通过点击产生的开关量当作开关来使用,还可以设置其颜色变化当作显示灯,按钮控件的使用相对来比较简单。
- 打开工程解决方案的资源视图之后,打开Toolbox(工具箱),在工具箱当中找到需要使用的控件,在工具箱当中按钮控件有两个,一个是Button一个是MFC Button Control,本文使用到的是后者;找到所需要的控件之后,将其拖拽进中间的视图编辑窗口;

- 接下来鼠标点击选中视图编辑窗口中的MfcButton1控件,打开右侧的属性设置栏,可以修改按钮控件的标题文字,也可以修改控件的ID,在每一个视图类里面每一个控件只有一个对应的ID;


- 为按钮控件添加变量,鼠标单击选中控件图标之后,右键选择Add Variable添加变量选项;

- 弹出如下界面,按钮控件默认的变量类型(Variable type)是MFCCButton类型,变量名(Variable name)可以随意设置,只要在自己使用的时候知道自己设置的变量名即可;设置完之后选择Finish即可;

- 设置完按钮控件的变量之后,控件的变量和ID会自动添加到xxxDlg.cpp和xxxDlg.h文件当中,这些变量添加完了,后面我们不用重复定义就可以直接调用这些变量;


- 控件的基本变量和ID都已经设置好了,接下来便是在程序中进行使用了,本例中通过Button单击事件来实现按钮界面的字体变化;选中对应的控件,右键进入Class Wizard类向导;

- 在弹出的界面,选择Commands指令窗口找到按钮的ID,然后双击对应的ID;在之后弹出的窗口设置Button单击事件的函数进行命名,完成命名之后确认即可;


- 确认完成之后,可以看到OnClickedMfcbutton1()函数已经添加到了xxxDlg.cpp当中了,单击Button按钮之后,所需要的功能和逻辑都可以往下面的这个函数里写了;

- 在Visaul Studio 2015当中每次添加完控件的变量之后都会显示无法识别对应的控件ID,这个错误是这个版本的软件存在的Bug,可以不需要理会,直接编译;确实有强迫症可以关闭工程重新打开就不会提示error了;

- 创建一个变量Button_flag来记录Button是否按下,在OnClickedMfcbutton1()函数添加如下代码,可实现Button控件的开关功能。

1 bool Button_flag = 0;
2
3
4 void CMFCApplication1Dlg::OnClickedMfcbutton1()
5 {
6 // TODO: Add your control notification handler code here
7 if (Button_flag == 0)
8 {
9 Button_flag = 1;
10 mfc_Button_OpenClose.SetWindowTextW(L"关闭");
11 }
12 else
13 {
14 Button_flag = 0;
15 mfc_Button_OpenClose.SetWindowTextW(L"打开");
16 }
17
18
19 }
最终效果如下:

Visaul Studio 2015 MFC控件使用之--按钮(Button)的更多相关文章
- MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.
MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...
- Visaul Studio 2015 MFC 应用程序工程创建
近一段时间开始接触到MFC桌面开发程序,忙完了一段时间的项目开发之后,来整理整理Visaul Studio 2015开发MFC桌面程序的基本功能. 首先从创建软件工程项目开始,Visaul Studi ...
- Visual Studio 2015 MFC之Button颜色变化-断点调试(Debug)
软件开发,对自己的程序进行调试很重要,本次文章在上一边随笔的基础上,介绍一下Button控件做显示灯的用法,Button控件的添加和变量设置等可以参考下面的的链接:Visaul Studio 2015 ...
- MFC控件的SubclassDlgItem
MFC控件的SubclassDlgItem 要在程序中创建新设计的控件,显然不能用自动创建的办法,因为对话框模板对新控件的特性一无所知.程序可以用手工方法创建控件,在调用派生类的Create函数时,派 ...
- [MFC] 梳理一个简单的图片处理桌面软件中用到的MFC控件技巧
前言 前些天应好友之拖,帮忙设计一个简单的图像处理的小软件.朋友把核心算法封装好了,但是是用openCV类似于console的编程环境,要我在此基础上改成MFC桌面程序.下图是做成之后的效果: 我是 ...
- MFC控件编程进度条编写
MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl 进度条编程也很简单. 封装的方法也就那个那几个. GetPos() 获 ...
- MFC 控件编程之水平滚动条跟垂直滚动条
MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...
- MFC控件编程之组合框跟列表框
MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...
- MFC控件编程之复选框单选框分组框
MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...
随机推荐
- [BUUCTF]REVERSE——内涵的软件
内涵的软件 附件 例行检查,32位程序 32位ida载入,shift+f12检索程序里的字符串 看到一个很像flag的字符串,拿去尝试一下,成功 flag{49d3c93df25caad8123213 ...
- Frequency函数(Excel函数集团)
此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...
- Linux中find命令与三剑客之grep和正则
昨日内容回顾 1.每个月的3号.5号和15号,且这天时周六时 执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半执行 ...
- CF151B Phone Numbers 题解
Content 在一座城市中,每个人的电话号码都是由六位整数组成的,例如 11-45-14. 现在有 \(n\) 个人,第 \(i\) 个人有 \(s_i\) 个人的电话号码.已知: 出租车司机的电话 ...
- 为什么需要两次eval才转化为需要的JSON数据,好奇怪
为什么需要两次eval才转化为需要的JSON数据,好奇怪
- 最强最全面的大数据SQL经典面试题(由31位大佬共同协作完成)
本套SQL题的答案是由许多小伙伴共同贡献的,1+1的力量是远远大于2的,有不少题目都采用了非常巧妙的解法,也有不少题目有多种解法.本套大数据SQL题不仅题目丰富多样,答案更是精彩绝伦! 注:以下参考答 ...
- Spring学习(四)在Web项目中实例化IOC容器
1.前言 前面我们讲到Spring在普通JAVA项目中的一些使用.本文将介绍在普通的Web项目中如何实例化Spring IOC容器.按照一般的思路.如果在Web中实例化Ioc容器.这不得获取Conte ...
- 使用iframe内嵌PC网站实现高度自适应
加个样式 <style> iframe { display: block; border: none; height: 90vh;/*设置高度百分比,一直调到只有一个滚动调为止*/ wid ...
- Proximal Algorithms 3 Interpretation
目录 Moreau-Yosida regularization 与次梯度的联系 改进的梯度路径 信赖域问题 Proximal Algorithms 这一节,作者总结了一些关于proximal的一些直观 ...
- 浅谈MemoryCache的原生插值方式
.NET运行时内置了常用的缓存模块: MemoryCache 标准的MemoryCache暴露了如下几个属性和方法: public int Count { get; } public void Com ...