我找不到所有事物的简单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 方法。

10-07 18:53