首先我们要完成一个功能,在一个添加新用户的场景里,通过Radio按钮来判断用户选择的是管理员还是普通用户。

要使用Radio组的功能首先我们必须作如下设置:

1、2个Radio按钮的ID号不同,但是他们的tab顺序必须是按顺序排列的,这些都可以在Resource.h文件里面查看到。

如:Radio1  ID:IDC_RADIO_ADMIN

Radio2  ID:IDC_RADIO_USER

在Resource.h文件里我们可能会看到:

#define IDC_RADIO_ADMIN      1001

#define IDC_RADIO_USER        1002

2、设置第一个Radio按钮属性里面的Group为true,那么Radio1和Radio2就成为一组了,如果还有Radio3和Radio4,若把Radio3的        Group设置为true,那么Radio3和Radio4就成为一组了。

好了,需要做的设置都做好了,那么接下来,该怎么去应用呢?

为了捕获到用户对这个Radio按钮组的事件,那么我们就需要在跟这个组相关联的类里面添加消息(手动添加)。

在添加消息之前,为了区分用户到底选择的是哪一个按钮,我们可以在相关联的对话框类里面添加一个枚举变量。

public:

enum {Admin, User} m_nUserType;

现在我们就添加消息处理

1、在类的头文件里面添加:afx_msg void OnBnClickedRadio(UINT idCtl);

2、BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()之间添加
              ON_CONTROL_RANGE(BN_CLICKED, IDC_RADIO_ADMIN, IDC_RADIO_USER, OnBnClickedRadio)

ON_CONTROL_RANGE这个宏需要4个参数:

1、事件的类型:如这里的单击事件

2、按钮组的第一个按钮(标识开始)

3、按钮组的最后一个按钮(标识结束)

4、事件响应的函数

3、到类的实现文件(cpp)里面添加这个函数

void CDlgXXX::OnBnClickedRadio(UINT idCtl)
{
    if(idCtl == IDC_RADIO_ADMIN)
        m_nUserType = Admin;
    if(idCtl == IDC_RADIO_USER)
        m_nUserType = User;
}

到这里,我们就设置完成了。

http://blog.csdn.net/lwwworkspace/article/details/6054354

http://blog.csdn.net/friendan/article/details/6961233 对radio 进行初始化

http://bbs.csdn.net/topics/350047705 给控件赋值

http://zhidao.baidu.com/link?url=TXdihyyunvu6pMCwBs1lDZgAePTloWZu3mLTn2S-sq84BXkUqoeTcGggzNXw-sQSJMjlhwwCLV_Fpl_pEdw85TwCAjtuFxdjl6gEc-hvoOu

MFC学习之Radio---MFC Radio按钮组的使用例子的更多相关文章

  1. MFC学习-第一课 MFC运行机制

    最近由于兴趣爱好,学习了孙鑫的MFC教程的第一课.看完视频了,自己便用visual studio 2010尝试了MFC编程,其中遇到了一些问题. 1.vs2010不像vs6.0那样可以新建一个空的MF ...

  2. MFC 学习笔记

    MFC 学习笔记 一.MFC编程基础: 概述: 常用头文件: MFC控制台程序: MFC库程序: 规则库可以被各种程序所调用,扩展库只能被MFC程序调用. MFC窗口程序: 示例: MFC库中类的简介 ...

  3. MFC 学习之 鼠标移动到Toolbar按钮上显示提示信息(tooltip),状态栏也随之改变

    1.在ResourceView里加入Toolbar资源,命名IDR_TOOLBAR1 2.在主程序的.h文件中加入变量:           CToolBar m_toolbar;CImageList ...

  4. MFC学习指南大纲

    最近一直在做MFC的项目,顺便学习一下以下MFC核心知识吧: 大纲: 1. 消息队列 2. send message 3. post message 4. 面向对象编程 5. 指针 一个一个来学习哈.

  5. MFC学习(三):项目学习

    1. 概述 MFC程序由CWinApp.MainFrm(含Menu,可用CSplitterWndEx分割).众多Dialog等组成. MFC既可以使用纯Dialog的形式,也可以使用Document+ ...

  6. amazeui学习笔记--css(常用组件3)--按钮组Button-group

    amazeui学习笔记--css(常用组件3)--按钮组Button-group 一.总结 1.按钮组用法:把一系列要使用的 .am-btn 按钮放入 .am-btn-group . 2.按钮工具栏: ...

  7. MFC学习笔记1---准备工作

    什么是MFC MFC,全称Microsoft Foundation Classes,微软基础类库,顾名思义,是微软的攻城狮们将一些常用的基础的Windows API 函数用C++的形式封装成类,简化程 ...

  8. bootstrap学习笔记<十>(按钮组,导航)

    1)按钮组.样式:class="btn-group" <div class="btn-group"> <button class=" ...

  9. BootStrap学习(2)_下拉菜单&按钮组

    一.下拉菜单 1.基本下拉菜单 如需使用下列菜单,只需要在class .dropdown 内加上下拉菜单即可.下面的实例演示了基本的下拉菜单: <!DOCTYPE html> <ht ...

随机推荐

  1. mysql explain字段意思解释

    mysql explain字段意思解释 explain包含id.select_type.table.type.possible_keys.key.key_len.ref.rows.extra字段 id ...

  2. C# ORM框架

    SQLSUGAR http://www.codeisbug.com/Doc/8/1159 附带mysql工具类,最优使用上面sqlsugar using System; using System.Co ...

  3. jquery中append、prepend, before和after方法的区别(一)

    原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 与 prepend()是在元素内插入内容(该 ...

  4. Mysql常用语句记录

    建表语句,带自增字段 create table test ( id int auto_increment primary key, name ) not null, password ) not nu ...

  5. Spring入门 (IOC)

    1.实现原理

  6. 转 new和malloc的区别

    传送门 new和malloc的区别 1. malloc()函数 1.1 malloc的全称是memory allocation,中文叫动态内存分配. 原型:extern void *malloc(un ...

  7. Laravel 5.1 关掉csrf验证

    Laravel 5.1 关掉csrf验证 说明: Laravel默认是开启了CSRF功能,有时可能不能传递验证token,就需要关闭. 方法一(全局关闭): 打开文件:app\Http\Kernel. ...

  8. Network | router & switch

    路由器 A router is a device that forwards data packets between computer networks. This creates an overl ...

  9. Arduino可穿戴教程保存源文件与打开已经存在的源文件

    Arduino可穿戴教程保存源文件与打开已经存在的源文件 Arduino IDE保存源文件 保存源文件可以通过“文件”菜单的“保存”或者快捷键Ctrl+S完成,如图2.28所示.   图2.28  保 ...

  10. Noip2017赛前的一些记录

    前言 已经退役整整五个月了....选考以后终于又摸上了键盘.... 但是码力已经大不如前了........ 距离比赛也就只有一星期了....那就胡乱的做一些题目吧QAQ 这里是一些根据算法分类的咋杂题 ...