首页 > 编程知识 正文

mfc自绘按钮,单选按钮

时间:2023-05-05 04:27:42 阅读:41377 作者:2499

将两个radio button添加到对话框中。 分别是Radio1和Radio2。

问题1 :如何默认选择Radio2或Radio2? 你怎么知道哪个被选中了?

重要的是,“默认值”只要放在OnInitDialog ()中就可以了。 有三种方法可供选择

第一个:

(CButton * ) getdlgitem(IDC_radio1)-setcheck ) true; //入选

(CButton * ) getdlgitem(IDC_radio1)-setcheck ) false; //不选

(CButton * ) getdlgitem(IDC_radio1)-GetCheck ); 返回1时退房,返回0时退房

第二个:

关联一个控制控制变量,打开ctrl W (即classwizard ),打开成员变量,会发生什么? 为什么没有IDC_RADIO1这个ID? 没有分组。 因为radio button通常用于组中,并且在组中是互斥的。 取消,返回对话框资源面板,右键单击Radio1以显示其属性,然后选择Group。 然后,Radio1和Radio2变成同一个组(你怎么知道他们是同一个组? )。 后面说)。 在这种情况下,可以将congtrol类型变量m_ctrlRadio1添加到Radio1中。 如下所示。

m_ctrlradio1.setcheck(true;

同样,可以使用GetCheck ()获取状态。

第三个:

关联int类型变量(同样必须先分组) m_nRadio1并打开对话框构造函数时,可以看到以下内容:

m_nRadio1=-1; m_nRadio1另赋值-1表示没有选择任何一个。 如果将-1更改为0,则可以看到默认情况下选择了Radio1。 同样,如果m_nRadio1的值为1,则选择第二个(哪个是第二个? 请参阅。 获取状态很简单,只要在更新数据(true )后判断m_nRadio1的值即可。

问题2 :如何使用多个组?

多个组和一个组是同样使用的。 我只要弄清楚哪个是哪个小组的就行了。 在对话框中添加Radio3和Radio4。 很简单。 首先,排列这些Radio Button的顺序。 (这个必须做。 例如,如果您的控件组中有Radio1、Radio2和Radio3,请将这些选项卡的顺序分别设置为1、2和3,并将Radio1的组属性设置为True。 这样,只要在被选中Radio1时及其对话框资源面板中进行Ctrl D,然后按照自己理想的顺序用鼠标一次点击即可。 假设Radio1、Radio2、Radio3和Radio4分别为1、2、3和4。 Radio1和Radio3都选择了组属性。 那么,1、2是组,3、4是另一组。 因为分组原则是从选择组属性的开头到选择组属性的结尾。 再使用Ctrl D,Radio1、Radio2、Radio3、Radio4分别为1、3、2、4,则Radio1和Radio3为1组,m_nRadio1=1时,不是Radio2,而是Radio2

嗯,你可能需要为它们添加鼠标点击的活动。 很简单。

使用单选按钮控制

关键词:单选按钮控件用法

一、单选按钮分组:

各组的第一个单选按钮是组、Tabstop、Auto; 剩下的按钮设置属性Tabstop、Auto。 例如:

Radio1、Radio2、Radio3为一组,Radio4、Radio5为一组

Radio1属性:设置组、Tabstop、Auto

Radio2属性:设置Tabstop,Auto

Radio3属性:设置Tabstop,Auto

Radio4属性:设置组、Tabstop、Auto

Radio5属性:设置Tabstop,Auto

二、用ClassWizard定义电台控制变量,每组只能定义一个。 例如,m_Radio1、m_Radio4。

三、在ClassWizard中生成每个单选按钮的点击消息函数,并添加内容:

voidcweditview :3360 on radio1(

{

m_Radio1=0; //选择第一个单选按钮

}

voidcweditview :3360 on radio2(

{

m_Radio1=1;//选择第二个单选按钮

}

voidcweditview :3360 on radio3(

{

m_Radio1=2;//选择第三个单选按钮

}

voidcweditview :3360 on radio4(

{

m_Radio4=0;//选择第四个单选按钮

}

voidcweditview :3360 on radio5(

{

m_Radio4=1;//选择第五个单选按钮

}

四.设置默认按钮:

定义控件变量时,ClassWizard在构造函数中将变量的初始值设置为-1。 只需将其更改为其他值。

例如:

//{ { afx _ data _ init (cunitblocktypeflankpublicadd }

m_Radio1=0; //初始时选择第一个单选按钮

m_Radio4=0; //初始时选择了第4个单选按钮

//}}AFX_DATA_INIT

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。