c++ - Visual Studio MFC 工具栏编辑器图标顺序不会更新

标签 c++ visual-studio-2010 mfc

我一直在尝试在 Visual Studio 2010 的 MFC 项目中创建自定义工具栏。我一直在关注 Ivan Horton 的 Beginning Visual C++ 2010 中的 Sketcher 教程。我遇到的问题是工具栏没有' 更新以反射(reflect)我创建的图标的顺序和间距。

我创建了一个小屏幕截图来演示问题: MFC toolbar editor example

在后台是带有我想要的工具栏配置的 visual studio 工具栏编辑器。前景是实际的应用程序,它不反射(reflect)我设计的图标的间距或顺序。它确实反射(reflect)了正在添加的新图标,并且这些图标工作正常,但我似乎无法让它们重新排序或适本地间隔它们自己。它们只是按照我创建它们的任何顺序附加到末尾。

我已经尝试了重新启动 VS 和 Windows 的基本技术,但无济于事。

有什么技巧可以让它很好地播放吗?缺少它,是否可以在某个地方手动查看或编辑工具栏编辑器生成的代码?

最佳答案

对于初学者来说,如果您在 VS.NET 2005 中创建 MFC SDI/MDI 项目,则不存在此类问题。它发生在 VS.NET 2008 和 2010 中。

事实上,您对标准工具栏的重新排列确实生效了。它只是没有向您显示默认状态。要恢复状态:单击工具栏末尾的小箭头按钮 -> 添加或删除按钮 -> 标准 -> 重置工具栏。

虽然我不是 100% 确定为什么会这样(这样设计或错误),但有一种方法可以解决它并且它有效:

将以下代码添加到 CMainFrame::LoadFrame(...) 的末尾

BOOL CMainFrame::LoadFrame(UINT nIDResource, DWORD dwDefaultStyle, CWnd* pParentWnd, CCreateContext* pContext) 
{
...

// Explicitly restore toolbar state
m_wndToolBar.RestoreOriginalstate();

return TRUE;
}

我建议您联系 Microsoft 支持工程师,因为网络上的资源很少。

关于c++ - Visual Studio MFC 工具栏编辑器图标顺序不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338175/

相关文章:

c++ - 两阶段查找 : can I avoid "code bloat"?

visual-studio-2010 - Visual Studio 2010 中的状态栏?

c# - 内存损坏错误

c++ - mfc - 富文本消息框

c++ - 具体对接框架

c++ - C++ 应用程序的框架

c++ - C/C++ 中的简单 OpenSSL RSA 加密让我头疼

C++:添加到输出中的不需要的数字

c++ - 尝试使用 vector 时出错

c++ - 带有 clang 的 OpenMP