VC中 Radio Button的使用

来源:互联网 发布:三国杀认证裁判知乎 编辑:程序博客网 时间:2024/06/09 19:57

使用方法:  
  1.建立一个基于对话框的用用程序,在其中加入三个Radio  Button,ID分别为:  
  IDC_RADIO1,IDC_RADIO2,IDC_RADIO3 
   
  2.控件的初始化:  
  在对话框类的OnInitDialog中加入代码: 
  CheckRadioButton(IDC_RADIO1,//第一个参数为该组的第一个单选按钮的ID  

IDC_RADIO3, //第二个参数为该组的最后一个单选按钮的ID  

IDC_RADIO3);      //第三个参数为该组中被选中的单选按钮的ID                                                         
 

 3.在加入一个Button控件,并为其写入Click事件代码:  
  int   iRadioButton; 
   
 iRadioButton=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3); 
  if(iRadioButton==IDC_RADIO1) 
  MessageBox("Click   Button1"); 
  if(iRadioButton==IDC_RADIO2) 
  MessageBox("Click   Button2"); 
  if(iRadioButton==IDC_RADIO3) 
  MessageBox("Click  Button3");   

/Files/Lee7/RadioButtonDemo.rar    
  另一个方法:  
  Radio  Button成组使用时,只需保证在添加控件时资源号连续,并且第一个Radio  Button的属性中Group被选中即可.  
  这样就可以给这一组控件添加成员变量使用  
  例:  
  1.建立一个基于对话框的应用程序,添加三个Radio  Button,和一个Button  
  选中第一个Radio  Button属性中的Group  。然后给raido1关联一个int型变量(同样需要先分组)m_nRadio1,打开对话框构造函数,你会发现有:
m_nRadio1 =-1;m_nRadio1别赋值-1表示哪个都没有选上。如果你把-1改成0,就会发现Radio1默认被选上了,依此类推,m_nRadio1的值为1就是第二个被选上了(这里同样有问题,哪个是第一个?哪个是第二个?)。获取状态很简单,UpdateData(TRUE)后判断m_nRadio1的值即可。
   
  2.在Button的Click事件中添加代码:  
  UpdateData(TRUE);  
  if(m_radio==0)  
  MessageBox("0");  
  if(m_radio==1)  
  MessageBox("1");  
  if   (m_radio==2) 
  MessageBox("2");  
  UpdateData(false);

///////////////////////////////////////

一、对单选按钮进行分组:
每组的第一个单选按钮设置属性: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()
{
m_Radio1 = 0; //第一个单选按钮被选中
}

void CWEditView::OnRadio2()
{
m_Radio1 = 1; //第二个单选按钮被选中
}

void CWEditView::OnRadio3()
{
m_Radio1 = 2; //第三个单选按钮被选中
}

void CWEditView::OnRadio4()
{
m_Radio4 = 0; //第四个单选按钮被选中
}

void CWEditView::OnRadio5()
{
m_Radio4 = 1; //第五个单选按钮被选中
}

四、设置默认按钮:
在定义控件变量时,ClassWizard在构造函数中会把变量初值设为-1,只需把它改为其它值即可。
如:
//{{AFX_DATA_INIT(CUnitBlockTypeFlankPublicAdd)
m_Radio1 = 0; //初始时第一个单选按钮被选中
m_Radio4 = 0; //初始时第四个单选按钮被选中
//}}AFX_DATA_INIT

原创粉丝点击