MFC單選按鈕

2021-05-26 03:05:38 字數 1535 閱讀 8821

先為對話方塊加上2個radio button,分別是radio1和radio2。

問題1:如何讓radio1或者radio2預設選上?如何知道哪個被選上了? 關鍵是選上,「預設」只要放在oninitdialog()即可。

三種方法可以讓它選上:

第一種:

((cbutton *)getdlgitem(idc_radio1))->setcheck(true);//選上

((cbutton *)getdlgitem(idc_radio1))->setcheck(false);//不選上

((cbutton *)getdlgitem(idc_radio1))->getcheck();返回1表示選上,0表示沒選上

第二種:

關聯乙個congtrol型變數(子類化),好ctrl+w(即開啟classwizard),點開 member variables,咦?怎麼沒有idc_radio1這個id?原來是沒有分組。因為radio button通常都是成組使用的,在一組裡面是互斥的。取消,回到對話方塊資源面板,右鍵radio1檢視屬性把group選上,那麼,radio1和 radio2就是一組了(怎麼知道他們是一組的?後面說)。此時,就可以為radio1增加一congtrol型變數m_ctrlradio1了。如下: m_ctrlradio1.setcheck(true); 同樣可以使用getcheck()獲取狀態。

一、對單選按鈕進行分組:

每組的第乙個單選按鈕設定屬性:group,tabstop,auto;其餘按鈕設定屬性tabstop,auto。如: radio1、radio2、radio3為一組,radio4、radio5為一組

設定radio1屬性:group,tabstop,auto

設定radio2屬性:tabstop,auto

設定radio3屬性:tabstop,auto

設定radio4屬性:group,tabstop,auto

設定radio5屬性:tabstop,auto

二、用classwizard為單選控制項定義變數,每組只能定義乙個。如:m_radio1、m_radio4。

三、用classwizard生成各單選按鈕的單擊訊息函式,並加入內容:

void cweditview::onradio1()

m_radio1 = 0; //第乙個單選按鈕被選中

void cweditview::onradio2()

m_radio1 = 1; //第二個單選按鈕被選中

void cweditview::onradio3()

m_radio1 = 2; //第三個單選按鈕被選中

void cweditview::onradio4()

m_radio4 = 0; //第四個單選按鈕被選中

void cweditview::onradio5()

m_radio4 = 1; //第五個單選按鈕被選中

四、設定預設按鈕:

在定義控制項變數時,classwizard在建構函式中會把變數初值設為-1,只需把它改為其它值即可。 如:

//}afx_data_init

HTML radio 單選按鈕

今天要寫的頁面上有乙個單選按鈕的標籤,或者說控制項。然後寫了幾次,發現總是寫不對,兩個選項總是可以同時選中。記得剛學html的時候,這個是很簡單的乙個標籤。於是上網看網頁加自己動手實驗,找到了問題所在。分析 首先,建立乙個單選按鈕 男 女 這樣寫的話,兩者是可以同時選中的。解決 在input標籤中加...

Java Swing 單選按鈕

在swing中實現單選按鈕非常簡單,為單選按鈕構造乙個buttongroup物件 然後把jradiobutton型別的物件新增到buttongroup中。定義單選按鈕 buttongroup group new buttongroup jradiobutton networkbutton new j...

matlab單選按鈕

最近使用matlab做gui,需要用到單選按鈕,現總結查詢到的方法。一種方法是在各個單選按鈕的callback函式處使能當前單選按鈕,同時禁用其他按鈕 然後判定按鈕value,並返回給新的變數,後續應該是判定新變數,進行後續操作。使能當前按鈕,禁用其餘按鈕 set handles.radiobutt...