軟體開發,對自己的程式進行除錯很重要,本次文章在上一邊隨筆的基礎上,介紹一下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,後續會繼續分享在開發當中使用到的東西,希望能在分享中共同進步。