首先我们要完成一个功能,在一个添加新用户的场景里,通过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

最新文章

  1. 论:开发者信仰之“天下IT是一家“(Java .NET篇)
  2. MFC AfxMessageBox默认标题修改
  3. 读取properties配置文件的方法
  4. 【poj1112】 Team Them Up!
  5. MySQL中MAX函数与Group By一起使用的注意事项(转)
  6. 获取DLL中的方法名称
  7. winform把图片存储到数据库
  8. mysql-insert-返回主键id
  9. 搞不定linux下的无线网卡驱动的权宜之计
  10. iOS终端查看.a文件是否能在模拟器上运行
  11. 用maven进行测试
  12. 关于存储过程 output 问题
  13. 【转】#ifdef __cplusplus深度剖析
  14. OpenStack项目列表
  15. BZOJ 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
  16. c#以文件流的形式输出xml(可以解决内存溢出)-XmlTextWriter
  17. PHP:执行模型和内存模型
  18. RabbitMQ入门-初识RabbitMQ
  19. 解决linux下部署科大讯飞时的版本过低问题
  20. Bzoj4872: [Shoi2017]分手是祝愿

热门文章

  1. Keepalived中Master和Backup角色选举策略
  2. es6总结(三)--数组
  3. 标准C程序设计七---70
  4. 系统软键盘">Android在外接物理键盘时,如何强制调用系统软键盘?
  5. LeetCode OJ--Permutations II
  6. Unity3D Shader 入门之简单案例的实现(通过法线实现颜色变化)
  7. Engine中如何截取线上指定两点间的线段?
  8. 牛人写的facebook优化php来龙去脉
  9. 系统网站架构(淘宝、京东)& 架构师能力
  10. Git学习0基础篇(下)