我找不到所有事物的简单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。
现在,所有按钮都变灰了。我在某处错过了一步吗?
感谢您的帮助/链接=)
最佳答案
默认情况下,工具栏上的按钮在MFC中处于禁用状态。对于每个应该与命令ID关联的按钮,您需要在消息映射中具有 ON_UPDATE_COMMAND_UI
宏。每当应用程序空闲时,都会在此宏中使用处理程序函数。该函数可以调用传递给该函数的 CCmdUI
指针的成员函数,例如 Enable
方法。