先為對話方塊加上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()獲取狀態。
第三種:
關聯乙個int型變數(同樣需要先分組)m_nradio1,開啟對話方塊建構函式,你會發現有:
m_nradio1 = -1;m_nradio1別賦值-1表示哪個都沒有選上。如果你把-1改成0,就會發現radio1預設被選上了,依此類推,m_nradio1的值為1就是第二個被選上了(這裡同樣有問題,哪個是第乙個?哪個是第二個?)。獲取狀態很簡單,updatedata(true)後判斷m_nradio1的值即可。
問題2:如何使用多組?
多組和一組是一樣的使用,只要搞清楚哪個是哪一組的就行了。再為對話方塊新增radio3和radio4。很簡單,先為這些radio button排個順序,就是排列他們的tab order。在對話方塊資源面板上ctrl+d,然後按你自己的理想順序用滑鼠逐個點選就可以了。不妨假設radio1、radio2、radio3、radio4分別是1、2、3、4。radio1和radio3都選上group屬性,那麼,1、2是一組,3、4是另外一組,因為分組的原則是在選上group屬性的這乙個開始直到碰到下乙個選上group屬性的。你不妨再ctrl+d,令radio1、radio2、radio3、radio4分別是1、3、2、4,那麼radio1和radio3是一組,如果m_nradio1=1,此時是radio3被選上而不是radio2被選上。分好了組就分別使用它們吧。
嗯,也許你還要為它們新增滑鼠單擊事件,非常簡單。
一、對單選按鈕進行分組:
每組的第乙個單選按鈕設定屬性: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()void cweditview::onradio2()
void cweditview::onradio3()
void cweditview::onradio4()
void cweditview::onradio5()
四、設定預設按鈕:
在定義控制項變數時,classwizard在建構函式中會把變數初值設為-1,只需把它改為其它值即可。
如:
//}afx_data_init
MFC分組Radio Button的使用
1 先在視窗上新增乙個group box控制項,然後分別在裡面新增多個radio button控制項 2 將第乙個radio的group屬性設為true 3 為第乙個radio新增數值型關聯變數,如下圖 在用類嚮導新增關聯變聯時,只能看到group中被設為true的radio的id 4 新增完成後,...
VC中Radio Button的用法
radio button 使用 使用方法一 在工程中新增控制項後,直接在控制項的click事件中寫入需要的 即可 使用方法二 1.建立乙個基於對話方塊的用用程式,在其中加入三個radio button,id分別為 idc radio1,idc radio2,idc radio3 2.控制項的初始化 ...
RadioButton和RadioGroup的異同
沒有radiogroup的情況下,radiobutton可以全部都選中 修改radiobutton的外觀,自定義方式 drawable中設定選中與 未選擇時 的背景 color中設定 選中與未選擇是文字顏色。android drawable drawable tabswitcher long and...