单选多选按钮_第1页
单选多选按钮_第2页
单选多选按钮_第3页
单选多选按钮_第4页
单选多选按钮_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、于东2015,第三周单选按钮(Radio Button)多选按钮(Check Box)2Button普通按钮 Radio Button文艺按钮Check Box 多选按钮3只能选一个能选多个单选按钮一般有两种用途记录用户的选择记录用户的选择在程序中通过编程对单选按钮进行在程序中通过编程对单选按钮进行查询,判断哪个选项处于选中状态,并进行相应的动作。查询,判断哪个选项处于选中状态,并进行相应的动作。 响应单击事件响应单击事件与普通按钮类似,只是多了一个选中与普通按钮类似,只是多了一个选中标记,同时会有互斥的效果。标记,同时会有互斥的效果。响应单击事件 与普通按钮相同,直接添加响应函数进行处理,多

2、个单选与普通按钮相同,直接添加响应函数进行处理,多个单选控件之间的互斥由控件自动实现。控件之间的互斥由控件自动实现。 缺点,如果一个页面上有很多个单选框,将产生很多个消缺点,如果一个页面上有很多个单选框,将产生很多个消息响应函数息响应函数比如,选择星座,选择家乡所在的省份。比如,选择星座,选择家乡所在的省份。4单选按钮的“分组”概念的设置方法 同属于一个组的若干单选按钮,最多只有一个能够处于选同属于一个组的若干单选按钮,最多只有一个能够处于选中状态。默认情况下,整个屏幕上所有单选按钮都被划分中状态。默认情况下,整个屏幕上所有单选按钮都被划分为一个组。因此,使用多个单选项,就要重新设置单选按为一

3、个组。因此,使用多个单选项,就要重新设置单选按钮的分组。钮的分组。 如何分组?假设所有单选按钮是可以排序的,比如如何分组?假设所有单选按钮是可以排序的,比如8 8个按个按钮分别是钮分别是1, 3, 5, 6, 8, 9, 12, 201, 3, 5, 6, 8, 9, 12, 20,那么可以指定按钮,那么可以指定按钮1 1和按钮和按钮8 8是分组的是分组的“开头开头”。两个。两个“开头开头”之间的所有单选按钮同之间的所有单选按钮同属于一个组。属于一个组。这就是分组设置方法。这就是分组设置方法。 默认情况下,每个控件都有一个默认情况下,每个控件都有一个tabtab顺序。顺序。MFCMFC按照这个

4、顺按照这个顺序对所有单选按钮能进行排序。序对所有单选按钮能进行排序。TabTab顺序可以通过顺序可以通过Ctrl+DCtrl+D来修改。来修改。5单选按钮的“分组”概念的设置方法 综上,对多组单选按钮的分组,步骤如下:综上,对多组单选按钮的分组,步骤如下: 1. 1. 布局所有的单选按钮布局所有的单选按钮 2. 2. 用用Ctrl+dCtrl+d对所有单选按钮设置对所有单选按钮设置tabtab顺序。期望放在一起的顺序。期望放在一起的按钮具有相邻的顺序。按钮具有相邻的顺序。 3. 3. 在期望分为一组的单选按钮中,选择在期望分为一组的单选按钮中,选择tabtab顺序最小的,在顺序最小的,在其属性

5、中选择其属性中选择groupgroup选项。该按钮将作为本组的选项。该按钮将作为本组的headhead。 4. 4. 一个组的单选按钮中,只有具有一个组的单选按钮中,只有具有groupgroup属性的按钮能够使属性的按钮能够使用用intint类型的类成员变量。它将类型的类成员变量。它将“代表代表”同组的其余的按钮。同组的其余的按钮。6单选按钮选中状态的获取。一共有三种方法。MethodMethod 1 1:为一组单选按钮添加一个:为一组单选按钮添加一个 intint 型变量,通过检查型变量,通过检查该变量值,确定哪个按钮被选中。需要更新数据。该变量值,确定哪个按钮被选中。需要更新数据。 Met

6、hodMethod 2 2:利用:利用GetDlgItemGetDlgItem方法获取按钮指针,利用方法获取按钮指针,利用GetCheckGetCheck方法查询是否选中。可以直接使用。方法查询是否选中。可以直接使用。 MethodMethod 3 3:利用:利用IsDlgButtonChecked(IDD)= BST_CHECKEDIsDlgButtonChecked(IDD)= BST_CHECKED方法方法判断判断IDDIDD对应的控件是否被选中。可以直接使用。对应的控件是否被选中。可以直接使用。7单选按钮选中状态的设置。MethodMethod 1 1:为一组单选按钮添加一个:为一组单

7、选按钮添加一个 intint 型变量,通过检查型变量,通过检查该变量值,确定哪个按钮被选中。需要更新数据。该变量值,确定哪个按钮被选中。需要更新数据。 MethodMethod 2 2:利用:利用GetDlgItemGetDlgItem方法获取按钮指针,利用方法获取按钮指针,利用GetCheckGetCheck方法查询是否选中。可以直接使用。方法查询是否选中。可以直接使用。 MethodMethod 3 3:利用:利用IsDlgButtonChecked(IDD)= BST_CHECKEDIsDlgButtonChecked(IDD)= BST_CHECKED方法方法判断判断IDDIDD对应的

8、控件是否被选中。可以直接使用。对应的控件是否被选中。可以直接使用。89Step1:建立对话框程序Step2:放置两个单选按钮,修改ID和标题Step3:放置一个“组框(Group Box)”,把单选按钮 放在其中Step4:重复step3,放置4个单选按钮和一个组框Step5:选择每个组框内的第一个按钮,添加其 Group属性Step6:添加静态文本控件,并为其添加Cstirng变量Step7:添加按钮控件,添加一个响应函数10Step8: 直接为男生/女生两个按钮添加消息响应函数,与添加Button的消息响应函数相同。Step9: 添加代码:Step10:设置默认的生日选择。在OnInitD

9、ialog函数 中return语句前添加:注:这也是设置某个RadioButton为选中状态的方法。11Step11:编写“获取生日”按钮响应函数依次类推编写4个按钮的判断代码,updatedata(false);一种简写的代码,可以是12单选按钮(Radio Button)多选按钮(Check Box)静态控件(Static )13多选按钮的“分组”属性用处不大。 不论如何,都要逐一判断选中情况。不论如何,都要逐一判断选中情况。 因此,每个多选按钮都能够添加一个成员变量,默认是因此,每个多选按钮都能够添加一个成员变量,默认是boolbool型。型。 Method1Method1: 为为每一个

10、复选按钮每一个复选按钮建立一个建立一个 boolbool型的变量,型的变量,truetrue表示选中,表示选中,falsefalse表示未选中。表示未选中。 Method2Method2:利用:利用GetDlgItemGetDlgItem方法获取按钮指针,利用方法获取按钮指针,利用GetCheckGetCheck方法查询是否选中。(与单选按钮相同)方法查询是否选中。(与单选按钮相同)14在刚才的程序中添加一栏15上面的按钮使用方法中,有一个很大的问题:多选按钮与一个bool类型变量绑定。如果界面中有很多个多选按钮,那么需要绑定的变量数量很多,给dlg类带来很大负担。对于类来说,一般希望其中的成员变量尽可能少,用函数中的局部变量来解决问题。16多选按钮,其实就是Cbutton类的对象。因此,是否有方法直接对该对象进行编程?看如下代码:CButton* pButton = NULL;pButton = (CButton*)GetDlgItem(IDC_CHECK1);if (pButton-GetCheck() = BST_CHECKED) m_strStaticResult += 听音乐,;17DEMO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论