用于非 MFC 应用程序的 Visual Studio 2012 资源编辑器
Posted
技术标签:
【中文标题】用于非 MFC 应用程序的 Visual Studio 2012 资源编辑器【英文标题】:Visual Studio 2012 Resources Editor for non MFC applications 【发布时间】:2012-12-27 18:13:21 【问题描述】:Visual Studio 资源编辑器无疑包含一组有价值的工具,可在为 MFC 应用程序创建 UI 时提供帮助,尤其是各种对话框和图形元素。
我有理由继续使用非托管 C++,这意味着不使用 Windows 窗体。因此,我有了一个想法,是否可以在创建非 MFC 应用程序时使用非托管 C++ 中的 VS2012 资源编辑器创建的资源。
如何在我的非托管 C++ 代码中引用 GUI 元素? 我可以完全放弃 MFC 结构并使用自己的 C++ 设计吗? 您是否知道任何涵盖此内容的优秀教程?我在网上搜索并尝试了 YouTube,但我没有找到涵盖此问题的合适示例。我用:
Visual Studio 2012 Ultimate Windows 7 x64 非托管 C++谢谢。
【问题讨论】:
资源编辑器与 MFC 没有任何关系,它适用于任何 Windows gui 程序。不要找教程,你需要看书。从 Petzold 的“Programming Windows”开始。 @HansPassant:+1,您好,感谢您的回复。如果我理解正确,.rc 文件的创建方式与 WinAPI 完全兼容,我可以应用标准 WinAPI 调用来显示这些 UI 组件。我已经阅读了 Petzold,但我会再次打开它,以找到我问题的答案。 【参考方案1】:MFC 本质上是 WinAPI 的包装器,因此无需 MFC 即可完全使用资源文件。在设计/编译时:
-
拖放资源以创建
.rc
文件
包含生成的头文件-#include "resource.h"
在运行时:
-
在您的代码中,确保调用
InitCommonControlsEx
通过DialogBox
、CreateDialog
等WinAPI调用加载资源。
【讨论】:
+1,感谢您的积极回答。很高兴知道,我可以快速、直观地创建 UI,而无需依赖大型 .NET 框架。以上是关于用于非 MFC 应用程序的 Visual Studio 2012 资源编辑器的主要内容,如果未能解决你的问题,请参考以下文章
没有可用于新 C++ 项目的 MFC 模板 - Visual C++ Express
如何在Visual C ++中创建非托管Windows GUI?
Visual Studio 2008 中的非托管 C++ 单元测试