zoukankan      html  css  js  c++  java
  • MFC控件(7):Split Button

    VS2008中可以看到MFC有一个叫Split Button的控件,要想看它的效果,瞧下QQ那聊天窗口的"发送", "消息记录"这两个按钮就知道了.实际上就是还有点像Combo Box了.不过它的实现应该是button加menu.所以它的消息处理可以分开成button的处理和menu的处理


    往dialog上拖一个split button后,再给它绑定一个变量.

    CSplitButton m_sbSend;

    DDX_Control(pDX, IDC_SPLIT1, m_sbSend);


    因为说了split button实际上是button跟menu的组合.所以你得整个menu先.不是什么特殊的菜单,就是主页面常用的那种菜单.

    m_split.SetDropDownMenu(IDR_MENU1,0);  //添加split button的下拉菜单.第一个参数就是菜单的资源ID,第二个参数就是子项索引,就是菜单根项从左之右数过去了.我们这里只能用到它的一个子菜单.


    消息处理

    split button中按钮部分的消息处理跟一般按钮一样.

    ON_BN_CLICKED(IDC_SPLIT1, OnBnClickedSplit1)


    void CMFCControlDlg::OnBnClickedSplit1()

    {
    AfxMessageBox(_T("click split button"));
    }


    下拉菜单 的处理

    split button中下拉菜单的处理也跟一般菜单类似

    ON_COMMAND(ID_Split_Menu1, SendMsg)


    void CMFCControlDlg::SendMsg()
    {
    AfxMessageBox(_T("Click dropdown menu of split button"));
    }

  • 相关阅读:
    mysql 常用命令
    mysql 存储过程知识点
    position 属性值:relative 与 absolute 区别
    spring 注解列表
    spring aop 术语
    socket、WebSocket
    spring mvc 基础
    requestAnimationFrame 提高动画性能的原因
    markdown 知识点
    SpringMVC Controller 介绍及常用注解
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3206768.html
Copyright © 2011-2022 走看看