具體代碼如下:
void CTest4Dlg::OnOK()
{
// TODO: Add extra validation here
CString str,strCtrl;
int i;
str = "您的年級:";
UINT nID1 = GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);
GetDlgItemText(nID1,strCtrl);
str = str + strCtrl;
str = str + "\n 您喜歡的科目:";
UINT nID2[4] = {IDC_CHECK1,IDC_CHECK2,IDC_CHECK3,IDC_CHECK4};
CButton *ptn;
for(i = 0; i < 4; i++){
ptn = (CButton *)GetDlgItem(nID2[i]);
if(1 == ptn->GetCheck()){
ptn->GetWindowText(strCtrl);
str = str + strCtrl;
str = str + " ";
}
}
MessageBox(str);
// CDialog::OnOK();
}
/**************************************************************總結:**************************************************************
1.首先,對于這些控件,需要初始化一下,RadioButton和CheckBox都需要,其中,初始化的作用就是避免未知的行為,還有有些情況下,
需要設置默認的選擇框,此時就是初始化的作用了,那么這樣就是對于OnInitDialog的應用了!
2.其次,對于控件的操作,很簡單,獲得各個控件的信息,具體就是是否被選中的信息了。
對于RadioButton,用函數 UINT nID1 = GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);返回選中的那個ID值,因為是只能一次選擇一個的
RadioButton,所以也就只能得到一個ID,然后得到指定ID的內容,前面說到了,GetWindowText即可,設置內容的話,SetWindowText即可。
當然,本題里面用的時GetDlgItemText(nID,str)也可以,將指定ID的控件內容放在str中,也沒有問題。
3.一直ID,或者控件的指針。前面用到過,就是修改Caption的時候,GetDlgItem函數,作用就是返回一個指針指向該控件,然后你就可以
SetWindowText來設置內容,或者GetDlgItemText來實現等等。。
4.檢查控件CheckBox是否被選擇的話需要用的時GetChecked函數,這樣得到那個值判斷,1表示選中,0表示未選中。
OK,目前就這么多了。
****************************************************************************************************************************/
上面的來說,具體的某些函數功能相似,以后要常常使用才是!