在 VC++2012 中使用 CMFCToolbarFontComboBox 将 FontCombo 添加到 ToolBar?

Posted

技术标签:

【中文标题】在 VC++2012 中使用 CMFCToolbarFontComboBox 将 FontCombo 添加到 ToolBar?【英文标题】:Adding FontCombo to ToolBar by using CMFCToolbarFontComboBox in VC++2012? 【发布时间】:2013-10-31 12:56:50 【问题描述】:

我正在使用VC++2012学习MFC编程,有了向导生成,已经有系统工具栏了。我想编辑文档中的文本,所以我将视图类设置为派生自“CRichEditView”类,然后我可以将按钮和控件添加到工具栏,但问题是我无法将任何控件添加到工具栏本身具有 CMFCToolBar 的工具栏一个基类。我实际上计划添加一个字体组合框和 fonsize 组合框,尽管我确实做了研究,但仍然没有答案哪里错了。这是一些我未能编译的示例链接。

http://www.drdobbs.com/windows/adding-a-combo-box-to-a-toolbar/184416845 修改后我得到它没有失败,但我不知道为什么会弹出“调试断言失败”错误。

这里的一些示例也不起作用 https://***.com/questions/15084210/the-combobox-on-the-toolbar-can-load-itemsprint-them-in-the-output-window-while

无论如何我似乎在这里发现了---> http://msdn.microsoft.com/en-us/library/vstudio/bb982559.aspx 我认为这是我想做的事情,但是以我目前的知识,看了Remarks之后,我真的不知道如何更详细地执行每个步骤。

我更喜欢将 CMFCToolBarFontComboBox 类与 CMFCToolBar 和 CRichEditView 一起使用。

任何答案或推荐将不胜感激。

【问题讨论】:

告诉我们您是否获得了 ASSERT.. 【参考方案1】:

您可以在此处找到完整的示例。 WordPad Sample 这正是您当前正在尝试构建的。

【讨论】:

错误 1 ​​错误 C2220: 警告被视为错误 - 没有生成“对象”文件 e:\vs2012 projects\samples\wordpad - copy\resource.h 206 1 WordPad 这是一个发生的错误,因为之前有一个错误。请尝试自己获取信息,然后再重新发布... Warning 2 warning C4005: 'ID_OLE_VERB_POPUP' : 宏重新定义 e:\vs2012 projects\samples\wordpad - copy\resource.h 206 1 WordPad 这是 VS-2012 中的一个变化。这个 id 现在是预定义的。只需从 resource.h 中删除第 206 行。应该修复编译器错误。 它顺利通过了非常感谢你,但是在构建过程中有这样的东西 --> buttondi.cpp 1> _WIN32_WINNT 没有定义。默认为 _WIN32_WINNT_MAXVER(参见 WinSDKVer.h) 1> cntritem.cpp 1> _WIN32_WINNT 未定义。默认为 _WIN32_WINNT_MAXVER(参见 WinSDKVer.h) 1> colorlis.cpp 1> _WIN32_WINNT 未定义。默认为 _WIN32_WINNT_MAXVER(参见 WinSDKVer.h)...等等... 【参考方案2】:

好的,现在我的工具栏中有一个 Fontcombo,我的下一个问题是,当我更改列表中的字体名称时,如何更改 CRichEditView 中选定的字体。

我使用了 CMFCToolbarFontComboBox::Setfont(),但没有用,我应该处理什么处理程序,或者无论如何(不包括:写字板示例)在视图中的字体和组合列表中的字体之间同步字体?

【讨论】:

全部解决:1。获取代码参考的 MSOFFICE2007DEMO 示例 2.好好看看 MSDN 3.google it 4.在一周内完成!

以上是关于在 VC++2012 中使用 CMFCToolbarFontComboBox 将 FontCombo 添加到 ToolBar?的主要内容,如果未能解决你的问题,请参考以下文章

vc2012安装失败因为某些必需的组件失败

无法在 32 位机器上注册使用 VS2012/VC++ 构建的 COM DLL

急!我以前会用vc6.0编一点小程序,现在没有那个编译器了,有vs2012。怎么用啊?请给个简单的

将 VC++ 06 迁移到 Visual Studio 2012:从编译中删除 hcw

在 VC++ 11 中使用别名声明

我可以使用 VC++ 2008 创建 Dll 并在 VC++ 6 中使用它吗?