首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

MFC 按鈕控件入門:從資源編輯到訊息處理的完整實作

     編輯:關於VC++

前言

按鈕是最基礎的互動控件。本文以一個簡單的「加減法計算器」為例,手把手演示在 VC 6.0 中建立對話框專案、佈局控件、變數綁定、訊息映射與核心邏輯代碼。

專案建立與介面佈局

  1. AppWizard 建立「ButtonDemo」對話框專案。
  2. 資源視圖開啟 IDD_BUTTONDEMO_DLG,保留 OK、刪除 Cancel,調整位置。
  3. 拖放兩個按鈕,屬性設為 ID_BUTTON_ADD/Caption:Plus 及 ID_BUTTON_SUBTRACT/Caption:Minus。
  4. 拖放三個 Edit Control:IDC_EDIT_X、IDC_EDIT_Y、IDC_EDIT_ANS(勾選 Disable)。
  5. 兩輸入框間加 Static 控件顯示「=」。

對話框佈局 按鈕屬性 編輯框佈局

變數綁定與訊息映射

  1. ClassWizard (Ctrl+W) → Member Variables:
    為三 Edit 綁定 int m_nX, m_nY, m_nAnswer。
  2. Message Maps:為兩按鈕添加 BN_CLICKED,生成 OnButtonAdd、OnButtonSubtract。

變數綁定 訊息映射

核心邏輯代碼

void CButtonDemoDlg::OnButtonAdd()
{
    UpdateData(TRUE);  // 控件 → 變數
    m_nAnswer = m_nX + m_nY;
    UpdateData(FALSE); // 變數 → 控件
}

void CButtonDemoDlg::OnButtonSubtract()
{
    UpdateData(TRUE);
    m_nAnswer = m_nX - m_nY;
    UpdateData(FALSE);
}

UpdateData(TRUE) 將控件輸入值寫入成員變數;UpdateData(FALSE) 將變數值顯示到控件。

進階技巧:添加 ClassWizard 未列出的訊息

ClassView 右鍵類別 → Add Windows Message Handler... 可選擇所有 Windows 訊息(如 WM_ERASEBKGND 等)加入映射,再由 ClassWizard 生成處理函數。

添加訊息處理器

結語

按鈕使用核心在於:資源編輯器佈局 → 變數綁定 → 訊息映射 → 邏輯實作。掌握此流程,即可靈活運用各類控件。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved