MFC單選按鈕的使用

將一組單選按鈕添加到對話框
選擇“工具箱”窗口中的單選按鈕 (RadioButton) 控件,並在對話框中單擊希望放置該控件的位置。
重複步驟 1 以添加所需的任意多個單選按鈕。確保組中單選按鈕的 Tab 鍵順序是連續的(有關更多信息,請參見更改控件的 Tab 鍵順序)。
在“屬性”窗口中,將 Tab 鍵順序中的第一個單選按鈕的 Group 屬性設置爲 True。例如
        Radio1、Radio2、Radio3爲一組,Radio4、Radio5爲一組
  設定Radio1屬性:Group,Tabstop,Auto
  設定Radio2屬性:Tabstop,Auto
  設定Radio3屬性:Tabstop,Auto
  設定Radio4屬性:Group,Tabstop,Auto
  設定Radio5屬性:Tabstop,Auto
 
VC2008 MFC創建單選按鈕組獲取單選按鈕組值 - IT心雪 - NET START HERE說明:
只有組中的第一個單選按鈕可將 Group 屬性設置爲True。如果有其他不屬於按鈕組的控件,則將組外的第一個控件的Group 屬性設置爲True。通過按 Ctrl + D 查看 Tab 鍵順序可以快速確定組外的第一個控件。

如何初始化單選按鈕,即默認一個單選按鈕 
 初始化第一個單選按選,即默認第一個單選按鈕

    在此函數裏 CLotteryDlg::OnInitDialog()
    CButton   *pB;
    pB=(CButton*)GetDlgItem(IDC_RADIO1);
    pB->SetCheck(TRUE);


   判斷被選中的單選框:

   使用組框控件,這個組框,不是組合框,組框是 將多個單選按鈕圈起來,再將你想設爲默認按鈕的那個按鈕的 組 屬性選中,其它按鈕的 組 屬性取消。
  這樣這些RADIO按鈕就成了一組可以實現在他們之間進行單選,這3個按鈕只有 組 屬性的可以映射一個變量,添加一個變量RadioSelect,其類型爲int,這個RadioSelect變量可以用來返回用戶選擇了哪個選項,0表示選擇  了第一個單選按鈕,1表示選擇了第二個單選按鈕,2表示選擇了第三個單選按鈕
     switch(RadioSelect)
 {
       case  0:
       ::AfxMessageBox("選中第一個");break;
       case 1:
       ::AfxMessageBox("選中第2個");break;
       case 2:
       ::AfxMessageBox("選中第3個");break;
 }

下面是第二種方法:

  被分到一組裏的單選框是互斥的,不在一個組裏的單選框是互不影響的(組框裏的單選框只能一個被選中)
   VC中建立基於對話框的類,在對話框控件中添加組框,在組框中放三個單選框,ID分別爲IDC_RADIO1,IDC_RADIO2,IDC_RADIO3.可以在對話框控件中添加一個Button控件,在     Button控件單擊命令響應中添加如下代碼:
   UINT nSex=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);//參數分別爲第一個、最後一個單選框的ID號
   switch(nSex)
 {
       case IDC_RADIO1:
       ::AfxMessageBox("選中第一個");break;
       case IDC_RADIO2:
       ::AfxMessageBox("選中第2個");break;
       case IDC_RADIO3:
       ::AfxMessageBox("選中第3個");break;
 }

發佈了52 篇原創文章 · 獲贊 40 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章