Splitbutton

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值