MFC中 CheckBox的用法 (轉)

勾選時...做某種算法
不勾選時 做另一種算法
if ( BST_CHECKED == IsDlgButtonChecked( IDC_CHECK1 ) )
{
// 勾選
}
else
{
}


IDC_CHECK1是CheckBox控件。
 
函數功能:該函數可以確定某個按鈕控制是否有選中標誌,或者三態按鈕控制是否爲灰色的、選中的、或兩者都不是。
  函數原型:UINT IsDlgButtonChecked(HWND hDlg,Int nlDBUtton);
  參數:
  hDlg:指向包含按鈕控制的對話框。
  nkDButtom:指定按鈕控制的整型標識符。
  返回值:使用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTION或


BS_3STATE樣式創建的按鈕的返回值可以是如下值之一:
  BST_CHECKED:表示按鈕被選中。
  BST_INDETERMINATE:表示按鈕是灰色的,即爲不確定狀態(只有具有BS_3STATE或BS_AUTO3STATE樣式的按鈕才使用


該值)。
  BST_UNCHECKED:表示該按鈕未選中(unckecked)。如果該按鈕用其他任何樣式,那麼返回值爲零。
也可以爲該控件添加一個控件類型的BOOL值變量如:BOOL m_delete;
void calcuArea::DoDataExchange (CDataExchange *pDX) {
 CAcUiDialog::DoDataExchange (pDX) ;
 DDX_Check(pDX, IDC_CHECK1, m_delete);
}
 
也可以對變量進行get或者set之類的操作來設置或者判斷複選框的選擇狀態。
 
得到複選框狀態的函數:CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);
           int state = pBtnNONE->GetCheck();
           當state == 1時表示該複選框沒有被選中;
           當state == 0時表示該複選框被選中設置複選框狀態的函數:CButton* pBtn = (CButton*)


GetDlgItem(IDC_CHECK);
           pBtnNONE->SetCheck(1);
           SetCheck(1)表示設置複選框爲“選中”狀態;
           SetCheck(0)表示設置複選框爲“未選中”狀態;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章