2007年4月1日 星期日

[MFC] CheckBox 最簡單的使用範例

若只想知道目前這個 Control 的狀態, 則只要下面幾行程式即可完成
// 檢查是否有關機選項
CButton* bPowerOffObj=(CButton*)Dlg->GetDlgItem(IDC_CHECK1);
if(bPowerOffObj->GetCheck() == BST_CHECKED){
// 現在是打勾狀態
}else{
}


下面是自己處理事件的 Demo


============================================
Step 1:
在 Message-loop 指定 Checkbox 訊息處理 method
BEGIN_MESSAGE_MAP (...)
// 關機選項 (自己手動)
ON_BN_CLICKED(IDC_CHECK1, OnBnClicked_PowerOffCheck)

// 其他的程式碼 ...

END_MESSAGE_MAP()


Step 2: 加入 method 的 specification 與 定義
afx_msg void OnBnClicked_PowerOffCheck();

// 當使用者按下 Check Box 會呼叫這個 method
void CSendMessageDemoDlg::OnBnClicked_PowerOffCheck(){
// 1. 記得 在 設定 bPowerOff 初值. bPowerOff=false;

}

2 則留言:

  1. 請問一下如果有很多各checkbox
    但我一次只能打勾一各!!
    請問要怎麼寫?

    回覆刪除
  2. 樓上
    這樣用combo box比較好?

    回覆刪除