哪种技术(MFC/Win32)更适合directx应用程序?

哪种技术(MFC/Win32)更适合directx应用程序?,mfc,winapi,directx,Mfc,Winapi,Directx,您好,我正在开发游戏级编辑器。目前我正在使用win32和directX。但是使用win32我无法实现完全面向对象的实现。所以我想在MFC中开发它。 它会比win32更好吗? 工业上广泛使用哪种技术(MFC/Win32)? 还有,哪种技术最适合我的项目?MFC是一种过时的技术,我相信微软不再积极开发它了。我建议在任何新项目上都不要使用该框架。MFC的应用相当广泛,但它是一个过时的框架,在复杂度方面远不及Codegear VCL、wxWidgets或TrollTech QT 我不会向任何人推荐MFC

您好,我正在开发游戏级编辑器。目前我正在使用win32和directX。但是使用win32我无法实现完全面向对象的实现。所以我想在MFC中开发它。 它会比win32更好吗? 工业上广泛使用哪种技术(MFC/Win32)?
还有,哪种技术最适合我的项目?

MFC是一种过时的技术,我相信微软不再积极开发它了。我建议在任何新项目上都不要使用该框架。

MFC的应用相当广泛,但它是一个过时的框架,在复杂度方面远不及Codegear VCL、wxWidgets或TrollTech QT

我不会向任何人推荐MFC。。。
如果您不想使用其他任何东西,那么WTL是一个很好的围绕Win32 API的轻巧包装器,它要好得多。

我有点惊讶于人们对MFC的厌恶程度-是的,它有点笨重,是一个“老式”框架,但是它仍然受到Microsoft的支持和扩展(例如,在VisualStudio2008SP1中,MFC是第一个像ribbon一样使用Office2007的Microsoft工具包).

我可能会选择MFC。虽然MFC本身不支持DirectX图形,但有一些人必须创建一个使用DirectX显示的MFC视图。虽然这些都不是特别新的,但似乎没有什么变化——我没有测试所有这些,但(例如)第一个链接(到CodeProject)VS 2008内置32位代码,只需一个小改动即可作为64位代码使用(将GetClassLong更改为GetClassLongPtr,将GCL_游标更改为GCLP_游标)


另一种可能是,考虑到至少有一个人成功地使用了MFC。

MFC听起来对我来说是明智的,它是Win32 API周围的包装器,提供了一个更面向对象的接口,所以听起来像你所需要的。当然还有其他的可供选择的框架,但必须是HON。不管你熟悉哪一种,我都不相信编辑器除了提供菜单、按钮和对话框/属性编辑器之外,还有高度复杂的UI需求


作为一种选择,你是否已经考虑过C?这似乎是一种常见的写游戏级别编辑器的方法,现在你仍然可以从它调用C++游戏内核。

Win32没有阻止你成为面向对象的对象。不管你选择哪个面向对象的框架,它最终都会调用标准的Win32 API。由于MVC设计,非常适合游戏编辑器。

同意,我认为这些海报最近没有看到它。但是,除了提供HWND之外,它对DirectX编程没有任何帮助。没有一个GUI类库可以做到。因为MFC是脆弱的和单片的?它只是设计得不好。如果你的项目不适合进入(MDI文档编辑器)mold,那么99%的MFC是无用的,但是你必须把它拖走,因为它耦合到你需要的1%中。你可以添加MFC提供的内容,但是尝试更改任何功能都是一个令人沮丧的练习。这太戏剧性了-MFC还有许多围绕Windows API的包装,可以与文档/视图分开使用如果你不想链接到一个巨大的库,可以使用静态链接。我非常怀疑微软不再支持MFC,事实上最近有一篇文章解释了如何使用“重启管理器”VS 2010中通过MFC实现的功能。虽然还远未消亡,但它从来都不是最好的。我记得最后一个大型且编写良好的MFC应用程序是Visual Studio 6,它本身正在积极开发中,最近添加了ribbon UI。很有意思……你有参考资料吗?