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,后续会继续分享在开发当中使用到的东西,希望能在分享中共同进步。