• MFC学习之Radio---MFC Radio按钮组的使用例子


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

  • 相关阅读:
    用户登陆显示cpu、负载、内存信息
    递归算法总结
    Java算法之递归打破及在真实项目中的使用实例
    史上最简单,一步集成侧滑(删除)菜单,高仿QQ、IOS。
    仿饿了么购物车下单效果
    一起来写个酷炫的水波纹浪啊浪界面
    一行实现QQ群组头像,微信群组,圆角等效果. 并支持url直接加载图片
    使用 CoordinatorLayout 实现复杂联动效果
    这交互炸了(三) :不看后悔!你一定没见过这样的闪屏
    这交互炸了(二):爱范儿是如何让详情页缩小为横向列表的
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4135815.html
Copyright © 2020-2023  润新知