我找不到所有东西的简单CToolBar示例..
我在资源编辑器中创建了一个工具栏,并在我的代码中加载了工具栏,如下所示:
toolbar = new CToolBar;
toolbar->CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP, CRect(0, 0, 0, 0), AFX_IDW_TOOLBAR);
toolbar->LoadToolBar(IDR_TOOLBAR);
我还在消息地图中处理了WM_LBUTTONDOWN。
现在,所有按钮都显示为灰色..我在某个地方错过了一步吗?
感谢您的帮助/链接=)
答案 0 :(得分:3)
默认情况下,MFC中禁用工具栏中的按钮。对于应与命令ID关联的每个按钮,您需要在消息映射中使用ON_UPDATE_COMMAND_UI
宏。只要应用程序处于空闲状态,就会调用此宏中使用的处理函数。此函数可以调用传递给函数的CCmdUI
指针的成员函数,例如Enable
方法。
答案 1 :(得分:1)
您是否在消息映射中提供了ON_COMMAND处理程序?应该看起来像 ON_COMMAND(SOME_BUTTON_ID,OnSomeButton),其中SOME_BUTTON_ID对应于工具栏上的一个按钮。