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

 

  软件开发,对自己的程序进行调试很重要,本次文章在上一边随笔的基础上,介绍一下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,后续会继续分享在开发当中使用到的东西,希望能在分享中共同进步。

 

posted @ 2022-01-16 23:18  熊来闯一闯  阅读(695)  评论(0编辑  收藏  举报