zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    es操作
    MySQL逻辑架构
    ceshimd
    mysql资料
    已解决 : VMware Workstation 与 Hyper-V 不兼容。请先从系统中移除 Hyper-V 角色
    MySQL数据库操作
    phpstorm配置laravel语法提示
    MySQL日志之慢查询日志(slow-log)
    456
    topcoder srm 553
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4135815.html
Copyright © 2011-2022 走看看