一
使用消息映射宏ON_CONTROL_RANGE,成组处理Radio Button控件的BN_CLICKED消息。
1 保证一组Radio Button控件的ID值连续:(Tab顺序连续,(Ctrl + D设定))
2 将一组Radio Button控件中第一个控件的Group属性置为True。
3 声明消息响应函数:
4 添加消息映射宏ON_CONTROL_RANGE,第一个参数是控件消息码,第二个和第三个参数分别指定一组连续Radio Button控件的第一个和最后一个ID,最后一个参数是消息处理函数。
5 添加消息响应函数的实现:
6 运行效果:
二
利用GetCheckedRadioButton函数判断一组Radio Button控件中哪一个被选中。
1 保证一组Radio Button控件的ID值连续,Tab顺序连续。
2 将一组Radio Button控件中第一个控件的Group属性置为True。
3 GetCheckedRadioButton函数的使用很简单:
4 运行效果:
三
Radio Button控件关联变量的使用。
1 保证一组Radio Button控件的ID值连续,Tab顺序连续。
2 将一组Radio Button控件中第一个控件的Group属性置为True。
3 为Group属性为True的按钮添加数值型变量。
在windef.h里面,已经定义了BOOL类型是int类型的别名,所以不要误以为这里的m_num只能设置为0和1.,实际上它的值可正可负。为了看起来更舒服些,索性将BOOL手动修改为int。
4 构造函数初始化列表中,将m_num初始化为0,所以默认的第一个Radio Button被选中。如果修改为2,则默认的是第三个Radio Button被选中。
5 比如在一个Button控件中,通过m_num变量的值来获取当前是哪一个Radio Button被选中,以及设置当前选中的Radio Button。
6 运行效果:
四
SetCheck 函数和GetCheck函数。