單選按鈕(Radio Button)常用於多選一的情況,比如試卷的選擇題,抽樣調查的選項等等,但在實際中一般用來選擇不同的設置選項以達到不同的目的,本經驗通過簡單的例子講述如何使用單選按鈕。
工具/原料
Visual Studio 2013
方法/步驟
新建項目,打開對話框設計界面,在對話框中添加若干控件:
3個編輯框,1個按鈕,兩組單選組合,若干個靜態文本。
功能:兩個編輯框選擇加減乘除運算,並將結果送入第三個編輯框顯示,計算按鈕通過第二組單選按鈕組選擇啟用或者禁用。
修改屬性,包括ID和Caption,以及編輯框的只讀屬性等。
按鈕ID為IDC_CALC,編輯框ID為IDC_Add1、IDC_Add2、IDC_Result;
算法組的單選按鈕ID為IDC_Plus、IDC_Minus、IDC_Multi、IDC_Div;
啟用組的單選按鈕ID為IDC_Use、IDC_NUse。
兩編輯框之間的靜態文本ID為IDC_Algorithm,表示當前選用的算法。
最重要的一步:修改單選按鈕的Group屬性,本例程共有兩組單選按鈕,需要設定兩個組,每一組的第一個單選按鈕的Group屬性需要為真。
添加變量和函數:三個編輯框分別添加Double型的變量m_add1、m_add2、m_result。第一組單選按鈕第一個按鈕添加int m_plus;第二組單選按鈕第一個按鈕添加BOOL m_use;IDC_Algorithm靜態文本對應變量CStatic m_algroithm;
雙擊計算按鈕添加按鈕按下事件處理函數。
修改初始化函數OnInitDialog添加:
GetDlgItem(IDC_CALC)->EnableWindow(false);
分別雙擊“啟用”和“禁用”自動生成函數,添加代碼啟用或禁用“計算”按鈕,這樣做就不需要定義m_use變量了,但是如果別的地方需要判斷到底有沒有啟用,就得通過變量判斷了。
通過單選選擇“加減乘除”算法,這裡採用單個函數處理多個事件的方式編寫程序,在頭文件中聲明:
afx_msg void OnBnClickedAlgor(UINT nID);
源文件中添加消息映射:
ON_CONTROL_RANGE(BN_CLICKED, IDC_Plus, IDC_Div, OnBnClickedAlgor)
並實現OnBnClickedAlgor函數。
這一步可以參考本系列經驗第10篇“處理多個事件”。
當然也可以逐個雙擊單選按鈕生成4個函數分別處理,不過那樣的話就顯得很麻煩。
修改計算函數,通過變量m_plus判斷運算符,實現兩數的加減乘除運算。
測試程序功能,啟動調試,默認情況計算按鈕不可用,選擇啟用後方可使用,然後選擇運算符,點擊計算得到結果,隨時點擊禁用都會使計算按鈕不可用。
注意事項
單選按鈕最重要的屬性就是Group,需要在同一組的按鈕必須ID連續,這就要求添加同組按鈕時連續。