• 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

  • 相关阅读:
    二维码在短信业务应用的初步构思
    Twproject Gantt开源甘特图功能扩展
    vscode 1.5安装体验
    OpenLiveWriter代码插件
    golang语言构造函数
    WebAPI接口返回ArrayList包含Dictionary对象正确解析
    golang枚举类型
    Gatekeeper Pattern 把关(守门人)模式
    .NET Core Windows环境安装与体验
    Federated Identity Pattern 联合身份模式
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4135815.html
Copyright © 2020-2023  润新知