[vc]如何对radio按钮分组
如何使用多组?
多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了。再为对话框添加Radio3和Radio4。很简单,先为这些RadioButton排个顺序,就是排列他们的TABORDER。在对话框资源面板上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被选上。分好了组就分别使用它们吧。
补充:
GetCheckedRadioButton
CWnd::GetCheckedRadioButton 函数功能:在给定的一组单选框ID中获得当前被选中的单选按钮的ID 函数原型:int GetCheckedRadioButton( int nIDFirstButton, intnIDLastButton ); 返回值: 当有被选中的单选框时返回被选中的单选框的ID ,如果所给的组中都没被选中则返回0 参数: nIDFirstButton 单选框组中第一个整形值的ID nIDLastButton 单选框组中最后一个整形值ID 以下是MFC的实现,循环迭代,找出被check的button。有时我们可以通过查看MFC的实现来学习具体函数。 int CWnd::GetCheckedRadioButton(int nIDFirstButton, intnIDLastButton) const { for (int nID = nIDFirstButton; nID <=nIDLastButton; nID++) { if (IsDlgButtonChecked(nID)) return nID; // id that matched } return 0; // invalid ID }