扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Windows 窗体是一个窗口化工具包,而不像 MFC 一样是完整的应用程序框架。事实上,相对于 Windows 窗体所提供的用于构建基于文档的独立应用程序的功能来说,MFC 提供的功能更多。例如,如果要生成一个文本编辑器,在 MFC 中,只需运行一个向导,选择适当的选项并编写若干行代码即可完成。仅仅是通过运行该向导得到的应用程序就包含了一个状态栏、一个工具栏(浮动),并实现了所有的 File、Edit 和 Help 菜单项,其中包括最近使用的文件列表和打印以及上下文相关的帮助,所有这些内容都包含在一个完全徽标兼容的单文档界面 (SDI)、多 SDI 或多文档界面 (MDI) 应用程序中。作为基于文档的应用程序框架,没有能够与 MFC 相匹敌的竞争者。
但是,程序员们现在倾向于构建更多基于 HTML 的应用程序,或者能够与业务对象或数据库服务器通信的应用程序,而不是基于文档的应用程序。.NET 框架和 Windows 窗体正是为这一目的而量身定做的。
这并不是说 Windows 窗体不能用来构建优秀的基于文档的应用程序。实际上,由于 Windows 窗体只是 .NET 框架所提供的超过 2000 个类中的一小部分,您所需要的内容很有可能 Windows 窗体并没有提供,而是位于该框架中的其他部分中。例如,Windows 窗体本身并不提供任何对象序列化支持,但是 .NET 框架类库的其余部分提供了多种序列化对象图的方法。
这是 MFC 和 Windows 窗体之间的主要区别。MFC 旨在替代基础 Win32 API,但这并不能阻止 Win32 API 增长。事实上,就像 MFC 随时间的不断增长一样,基础 OS 的功能最少增加了十倍。但是,Windows 窗体只是 Win32 的窗口化部分的替代物。.NET 框架类的其余部分负责替代其余的 Win32。当然,框架永远不可能替代整个 Win32 API,不过,由于在可预期的未来,大多数要添加到 Windows 中的新功能都要被添加到框架中,替代整个 Win32 API 将是一个未来的目标。
因此,虽然 Windows 窗体不能具有 MFC 的全部功能,但它的确提供了一组很强的功能,可以极大地便利客户端应用程序开发人员,这其中包括一些 MFC 完全不具备的功能。下面,我们将介绍如何从头开始构建应用程序,然后讲解 Visual Studio .NET 2003 为 Windows 窗体 C++ 程序员提供的工作效率改进功能。
查看本文来源如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者