【发布时间】:2011-03-02 12:52:00
【问题描述】:
MFC 功能包(和 VS 2010)为几个“现代”GUI 元素(例如带有选项卡式文档的 MDI、功能区和带有停靠面板的 Visual Studio 样式界面)添加了开箱即用的支持.这些对于我们这些必须支持基于 MFC 的遗留应用程序并希望更新其外观和感觉的人来说是一个福音,并且表明 Microsoft 尚未完全放弃非托管 C++ 开发。然而,随着对 .NET、WinForms 和托管代码的大力支持(并且有很多充分的理由),似乎没有理由在非托管 C++/MFC 中开发新应用程序。
那么问题就变成了如何在 WinForms 应用程序中获得这些 GUI 元素。到目前为止,我发现的几乎所有附加组件和库都需要花钱,并引入了额外的依赖项。我没有购买第三方库的预算,微软在 MFC 中免费提供的控件似乎足以满足我们的需求。但我对学习 MFC 开发新应用程序仍有保留。不仅时间上的投入看起来很重要(从各方面来看,MFC 似乎特别难学,即使对于有经验的 .NET 开发人员也是如此——尽管我愿意尝试),而且还提出了 MFC 的寿命问题。当然,考虑到数百万行代码和用原生 C++ 编写的现有应用程序,它会存在一段时间,但手写体似乎已成定局,可以说,它不再是微软吹捧的开发平台。
似乎这些功能现在应该可以在 WinForms 中使用,而不需要第三方插件,或者投入大量时间和资源来自定义绘图。我只是错过了什么吗?我发现很少有在线将 MFC 的这些新功能与 WinForms 中可用的功能进行比较,主要是因为在 MFC 上编写的大多数内容都早于其最近的更新,在此之前它看起来被承认“过时”以及其他缺陷,是几乎不是一个吸引人的新发展平台。随着 VS 2010 的最新版本,我们有一段时间等待 WinForms 再次更新。对于客户需要在预算内具有现代外观的 UI 的应用程序,你们采取了哪些途径?
【问题讨论】:
标签: c# c++ winforms user-interface mfc