我对这段代码有一些类,让我们称它为ToolbarButton
TBBUTTON tbbutton;
ZeroMemory(&tbbutton, sizeof(tbbutton));
tbbutton.idCommand = index;
tbbutton.dwData = 0;
tbbutton.fsState = TBSTATE_ENABLED | BSTYLE_BUTTON | BTNS_SHOWTEXT;
tbbutton.iBitmap = I_IMAGENONE;
tbbutton.iString = toolbar->AddStrings(text);
toolbar->InsertButton(index, &tbbutton);其中工具栏是CToolBarCtrl*
如何为ToolbarButton类创建消息循环?
就像这样
class ToolbarButton : public CMessageMap{
..
BEGIN_MSG_MAP(ToolbarButton )
MESSAGE_HANDLER(WM_COMMAND, OnClick)
END_MSG_MAP()
..
}OnClick没有打电话,我还能做什么?
更新:我还考虑了answer的变体-工具栏处理点击消息,通过idCommand查找按钮,并调用创建按钮的OnClick。。。但我有一个代码,我正在重构,并看到按钮类(正确地说,大约有4个接口和15个围绕按钮的类)做了这样的语法糖我所需要的,但它们也包含过时的代码和代码,我想消除,目前我不能切片它
发布于 2011-10-11 02:46:23
它应该以一种稍微不同的方式工作。
我建议你去Using Toolbar Controls上看看你的选择到底是什么。
https://stackoverflow.com/questions/7717133
复制相似问题