• 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"));
    }

  • 相关阅读:
    禅道环境搭建
    java web自动化js控制滚动条
    Selenium启动项参数设置
    模糊定位
    eclipse设置UTF-8
    eclipse在线安装testNG
    3步在Linux虚拟机搭建Hadoop
    Linux系统下shell脚本中执行sql
    Linux操作系统中记录操作记录的地方
    awk命令看这一篇就够了
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3206768.html
Copyright © 2020-2023  润新知