[vc]如何对radio按钮分组

时间:2023-03-09 02:48:32
[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  }