用于非 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 通过DialogBoxCreateDialog等WinAPI调用加载资源。

【讨论】:

+1,感谢您的积极回答。很高兴知道,我可以快速、直观地创建 UI,而无需依赖大型 .NET 框架。

以上是关于用于非 MFC 应用程序的 Visual Studio 2012 资源编辑器的主要内容,如果未能解决你的问题,请参考以下文章

没有可用于新 C++ 项目的 MFC 模板 - Visual C++ Express

是否在CLR上运行非托管Visual C ++?

如何在Visual C ++中创建非托管Windows GUI?

Visual Studio 2008 中的非托管 C++ 单元测试

有关MFC的afx_module_state类的作用,visual c++

Visual 2010 MFC 新项目未构建!