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. ...
随机推荐
- 日程表(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 Project默认打开时,在功能区下面会有一个[日程表],如果不见了,那肯定里什么时候手贱关掉的,不要紧,还可以到[视图] ...
- 解放生产力「GitHub 热点速览 v.21.51」
作者:HelloGitHub-小鱼干 解放生产力一直都是我们共同追求的目标,能在摸鱼的空闲把赚了.而大部分好用的工具便能很好地解放我们的生产力,比如本周特推 RedisJSON 不用对 JSON 做哈 ...
- .NET6中一些常用组件的配置及使用记录,持续更新中。。。
NET6App 介绍 .NET 6的CoreApp框架,用来学习.NET6的一些变动和新特性,使用EFCore,等一系列组件的运用,每个用单独的文档篇章记录,持续更新文档哦. 如果对您有帮助,点击右上 ...
- CF250A Paper Work 题解
Content 有 \(n\) 个数,要分成若干堆,要求每堆中的负数最多只能有两个.试求出分成的堆数最少是多少,并求出每一堆里面的数的个数. 数据范围:\(1\leqslant n\leqslant ...
- Django的Form表单验证
Form(from django import forms) 简短理解:后端提供了一个类:from django import forms,继承此类定义子类.子类中定义和form表单中提交到name名 ...
- 【进阶】uniapp复现微信相册功能之【图视频编辑 + 压缩】
基于uniapp + vue实现微信相册,在实现了微信相册的基础上增加以下功能 1: 图片编辑 2: 视频编辑 3: 文件压缩 技术实现 开发环境:HbuilderX + nodejs 技术框架:un ...
- 10-2 bonding
创建bonding设备的配置文件 centos8 /etc/sysconfig/network-scripts/ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond ...
- centos使用docker 安装 rabbitMq 消息队列
1.拉取镜像 docker pull rabbitmq:3-management 如果出现报错: Get https://registry-1.docker.io/v2/: net/http: req ...
- C++基础之虚析构函数原理
结论 虚函数表指针 + 虚函数表 共同实现 演示 VS2017(32位) 基类有析虚构函数 一段代码演示 #include <iostream> #include <memory&g ...
- 【LeetCode】243. Shortest Word Distance 解题报告(C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 字典 日期 题目地址:https://leetcode ...