在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)的更多相关文章

  1. MFC控件编程之 按钮编辑框.静态文本的使用,以及访问控件的七种方法.

    MFC控件编程之 按钮编辑框.静态文本的使用以及访问控件的七种方法. 一丶按钮.静态文本的通用属性. 他们都有一个属性.就是可以输入标题内容.以及可以自定义控件ID. 创建一个MFC Dlg对话框. ...

  2. Visaul Studio 2015 MFC 应用程序工程创建

    近一段时间开始接触到MFC桌面开发程序,忙完了一段时间的项目开发之后,来整理整理Visaul Studio 2015开发MFC桌面程序的基本功能. 首先从创建软件工程项目开始,Visaul Studi ...

  3. Visual Studio 2015 MFC之Button颜色变化-断点调试(Debug)

    软件开发,对自己的程序进行调试很重要,本次文章在上一边随笔的基础上,介绍一下Button控件做显示灯的用法,Button控件的添加和变量设置等可以参考下面的的链接:Visaul Studio 2015 ...

  4. MFC控件的SubclassDlgItem

    MFC控件的SubclassDlgItem 要在程序中创建新设计的控件,显然不能用自动创建的办法,因为对话框模板对新控件的特性一无所知.程序可以用手工方法创建控件,在调用派生类的Create函数时,派 ...

  5. [MFC] 梳理一个简单的图片处理桌面软件中用到的MFC控件技巧

     前言 前些天应好友之拖,帮忙设计一个简单的图像处理的小软件.朋友把核心算法封装好了,但是是用openCV类似于console的编程环境,要我在此基础上改成MFC桌面程序.下图是做成之后的效果: 我是 ...

  6. MFC控件编程进度条编写

    MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl  进度条编程也很简单. 封装的方法也就那个那几个. GetPos()  获 ...

  7. MFC 控件编程之水平滚动条跟垂直滚动条

    MFC 控件编程之水平滚动条跟垂直滚动条 一点水平滚动条的操作 首先在操作滚动条的时候.我们要知道滚动条的一些属性. 比如我们要设置 最大值 最小值. 以及每次递增的值是多少.都要设置. 所有就有一个 ...

  8. MFC控件编程之组合框跟列表框

    MFC控件编程之组合框跟列表框 一丶简介 如果要使用组合框跟列表框.那么就要知道.组合框列表框是最核心的东西就是索引. 索引是从0开始的. 二丶组合框列表框常用的方法 AddString(字符串) 添 ...

  9. MFC控件编程之复选框单选框分组框

    MFC控件编程之复选框单选框分组框 一丶分组框 分组框 英文叫做 GroubBox 添加了分组框主要就是分组.好看.不重点介绍 二丶单选框 英文: Raido Button 单选框需要注意的事项 1. ...

随机推荐

  1. [BUUCTF]REVERSE——内涵的软件

    内涵的软件 附件 例行检查,32位程序 32位ida载入,shift+f12检索程序里的字符串 看到一个很像flag的字符串,拿去尝试一下,成功 flag{49d3c93df25caad8123213 ...

  2. Frequency函数(Excel函数集团)

    此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...

  3. Linux中find命令与三剑客之grep和正则

    昨日内容回顾 1.每个月的3号.5号和15号,且这天时周六时 执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半执行 ...

  4. CF151B Phone Numbers 题解

    Content 在一座城市中,每个人的电话号码都是由六位整数组成的,例如 11-45-14. 现在有 \(n\) 个人,第 \(i\) 个人有 \(s_i\) 个人的电话号码.已知: 出租车司机的电话 ...

  5. 为什么需要两次eval才转化为需要的JSON数据,好奇怪

    为什么需要两次eval才转化为需要的JSON数据,好奇怪

  6. 最强最全面的大数据SQL经典面试题(由31位大佬共同协作完成)

    本套SQL题的答案是由许多小伙伴共同贡献的,1+1的力量是远远大于2的,有不少题目都采用了非常巧妙的解法,也有不少题目有多种解法.本套大数据SQL题不仅题目丰富多样,答案更是精彩绝伦! 注:以下参考答 ...

  7. Spring学习(四)在Web项目中实例化IOC容器

    1.前言 前面我们讲到Spring在普通JAVA项目中的一些使用.本文将介绍在普通的Web项目中如何实例化Spring IOC容器.按照一般的思路.如果在Web中实例化Ioc容器.这不得获取Conte ...

  8. 使用iframe内嵌PC网站实现高度自适应

    加个样式 <style> iframe { display: block; border: none; height: 90vh;/*设置高度百分比,一直调到只有一个滚动调为止*/ wid ...

  9. Proximal Algorithms 3 Interpretation

    目录 Moreau-Yosida regularization 与次梯度的联系 改进的梯度路径 信赖域问题 Proximal Algorithms 这一节,作者总结了一些关于proximal的一些直观 ...

  10. 浅谈MemoryCache的原生插值方式

    .NET运行时内置了常用的缓存模块: MemoryCache 标准的MemoryCache暴露了如下几个属性和方法: public int Count { get; } public void Com ...