软件开发,对自己的程序进行调试很重要,本次文章在上一边随笔的基础上,介绍一下Button控件做显示灯的用法,Button控件的添加和变量设置等可以参考下面的的链接:Visaul Studio 2015 MFC控件使用之--按钮(Button) - 熊来闯一闯 - 博客园 (cnblogs.com),在以上的基础上进一步介绍断点调试;

  • 在xxxDlg.cpp中的OnInitDialog()窗体初始化函数添加Button控件颜色初始化,在程序当中首次对Button控件进行颜色更改,需添加以下两句,否则直接对Button控件进行设置颜色无效;

    mfc_Button_OpenClose.m_bTransparent = FALSE;
    mfc_Button_OpenClose.m_bDontUseWinXPTheme = TRUE;
 1 BOOL CMFCApplication1Dlg::OnInitDialog()
2 {
3 CDialogEx::OnInitDialog();
4
5 // Set the icon for this dialog. The framework does this automatically
6 // when the application's main window is not a dialog
7 SetIcon(m_hIcon, TRUE); // Set big icon
8 SetIcon(m_hIcon, FALSE); // Set small icon
9
10 // TODO: Add extra initialization here
11 //Button按钮初始化
12 mfc_Button_OpenClose.m_bTransparent = FALSE;
13 mfc_Button_OpenClose.m_bDontUseWinXPTheme = TRUE;
14 mfc_Button_OpenClose.SetFaceColor(RGB(255, 255, 255));15
16 return TRUE; // return TRUE unless you set the focus to a control
17 }
  • 在OnClickedMfcbutton1()函数中添加如下事件,即可实现Button按钮的颜色变化
 1 void CMFCApplication1Dlg::OnClickedMfcbutton1()
2 {
3 // TODO: Add your control notification handler code here
4 if (Button_flag == 0)
5 {
6 Button_flag = 1;
7 mfc_Button_OpenClose.SetWindowTextW(L"关闭");
8 mfc_Button_OpenClose.SetFaceColor(RGB(0, 255, 0));//绿色
9 }
10 else
11 {
12 Button_flag = 0;
13 mfc_Button_OpenClose.SetWindowTextW(L"打开");
14 mfc_Button_OpenClose.SetFaceColor(RGB(255, 255, 255));//白色
15 }
16
17
18 }
  • 实现的最终效果如下:

     

  • 使用Visual Studio的断点调试功能,来查看Button_flag变量在点击Button之后的赋值变化,在Button点击事件函数Button_flag变量对应的行数右侧单击,会出现对应的红点,然后点击程序窗口的打开按钮,程序会自动跳转到设置断点了的一行程序;

  • 可以通过菜单栏的单步执行按钮,对所编写的代码一行一行地执行

  • 将鼠标放置到Button_flag变量,会显示当前变量地值,如下图所示,当前值为false,当程序往下继续执行的时候,在Button_flag = 1处,该变量被赋值为true,通过这种调试方式可以追踪变量的变化,在程序有bug的时候,可以很方便的帮忙定位错误。

  软件编程并不是博主的特长,如有解释的不够清楚的地方敬请见谅,刚好最近的项目当中用到了MFC,后续会继续分享在开发当中使用到的东西,希望能在分享中共同进步。

Visual Studio 2015 MFC之Button颜色变化-断点调试(Debug)的更多相关文章

  1. Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2

    1. 下载Visual Studio Code (https://code.visualstudio.com/) 2. 安装插件Debugger for chrome 3. 确定tsconfig.js ...

  2. visual studio 2010 出现问题,不能设置断点调试了,一运行就未响应,然后程序退出

    经网络查找原因,怀疑是插件问题: 解决方案: 1.工具->扩展管理 2.禁用或卸载VS2010的插件(扩展程序)

  3. 体验Visual Studio 2015 Windows Forms应用程序开发与维护

    昨天到半夜还没有等到Visual Studio 2015的下载地址,实在熬不住就先休息了.北美地区的时区比北京时间要晚一些,今天早上到公司就看到Visual Studio 2015的下载地址,迅速的将 ...

  4. Visual Studio 2015开发Android App问题集锦

    Visual Studio 2015开发Android App 启动调试始终无法完成应用部署的解决方案 创建一个Android App项目后,直接启动调试发现Visual Studio Emulato ...

  5. Visual Studio 2015 开发 ASP.NET 5 有何变化?

    本篇博文目录: ASP.NET 5 模版 ASP.NET 5 目录结构 前端管理工具 无编译开发 Microsoft Git Provider 智能感知和错误信息 Smart Unit Testing ...

  6. Visual Studio 2015 开发 ASP.NET 5 有何变化?(转)

    出处:http://www.cnblogs.com/xishuai/p/visual-studio-2015-preview-asp-net-5-change.html 本篇博文目录: ASP.NET ...

  7. Visual Studio 2015的安装与基本使用

    为什么要使用Visual Studio 2015? 它是中文的.界面友好.自动补全.实时语法错误提示(上图中波浪线部分).单步调试……最重要的社区版是免费的!所以你不必再使用破解的.老旧的的不兼容现代 ...

  8. VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能

    出处: https://msdn.microsoft.com/zh-cn/magazine/dn973013(en-us).aspx 很多开发商花了绝大多数时间获取应用程序才干正常发挥作用.更少的时间 ...

  9. Visual Studio 2015 移动跨平台开发初体验

    微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...

随机推荐

  1. 使用 Amazon S3 触发器创建缩略图

    使用 Amazon S3 触发器创建缩略图 环境 centos (注意,必须是Linux环境) node12.x 安装教程 curl -sL https://rpm.nodesource.com/se ...

  2. 显示摘要任务(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 用熬肥的同学都知道,在熬肥的[文件]>[选项]设置中,[高级]才是最多选项设置的地方: 张同学亦如是说. 比如一个比 ...

  3. 从头造轮子:asyncio之 run_until_complete (1)

    前言 今天开始聊一聊python3的asyncio.关于asyncio,大家肯定都有自己的理解,并且网上大神也把基础概念也解释的比较透彻. 本文写作的初衷,主要是理解asyncio的原理并且实现一遍. ...

  4. SP8374 PARKET1 - PARKET 题解

    Content 有一个 \(l\times w\) 大小的网格,其四周均被染成了红色,其余部分是棕色,已知红色网格与棕色网格的数量,求 \(l\) 与 \(w\) 的值. Solution 接下来给各 ...

  5. MyBatis学习(四)MyBatis一对一关联查询

    一对一关联查询即.两张表通过外键进行关联.从而达到查询外键直接获得两张表的信息.本文基于业务拓展类的方式实现. 项目骨架 配置文件conf.xml和db.properties前几节讲过.这里就不细说了 ...

  6. 【LeetCode】121. Best Time to Buy and Sell Stock 解题报告(Java & Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 C++ 解法 日期 ...

  7. 【LeetCode】978. Longest Turbulent Subarray 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 虫取法 日期 题目地址:https://leetco ...

  8. 【LeetCode】949. Largest Time for Given Digits 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  9. 【LeetCode】680. Valid Palindrome II 验证回文字符串 Ⅱ(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 双指针 思路来源 初版方案 进阶方案 日期 题目地址 ...

  10. hdu-5569matrix(dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=5569; 题目意思: 从(1,1)点出发只能向右和向下走,到达(n,n)点时所得到的价值最小, 价值是Let th ...