Windows 窗体(Windows Form)/MFC 编程差异

 

Windows 窗体(Windows Form)/MFC 编程差异  

2009-11-16 10:12:03|  分类: MFC软件开发 |  标签: |字号 订阅

在 MFC 中使用 Windows 窗体用户控件中的主题描述 MFC 对 Windows 窗体的支持。如果您不熟悉 .NET Framework 或 MFC 编程,可以从本主题了解两者之间编程差异的相关背景信息。

Windows 窗体用于在 .NET Framework 上创建 Microsoft Windows 应用程序。此框架提供一个现代的、面向对象的、可扩展的类集,它使您得以开发丰富的基于 Windows 的应用程序。使用 Windows 窗体,您可以创建胖客户端应用程序,这种应用程序可使用 Windows 窗体控件访问多种数据源,同时提供数据显示和数据编辑功能。

但是,如果您已习惯使用 MFC,您可能会习惯于创建某些在 Windows 窗体中尚未受到显式支持的应用程序。Windows 窗体应用程序等效于 MFC 对话应用程序。但是,它们并不提供基础结构以直接支持其他 MFC 应用程序类型,如 OLE 文档服务器/容器、ActiveX 文档或用于单文档界面 (SDI)、多文档界面 (MDI) 和多个顶级界面 (MTI) 的文档/视图支持。可以编写自己的逻辑以创建这些应用程序。

有关 Windows 窗体应用程序的更多信息,请参见 Windows 窗体介绍。

有关显示与 MFC 一起使用的 Windows 窗体的示例应用程序,请参见“MFC and WinForms Integration”(MFC 和 WinForms 集成)。

Windows 窗体中并没有提供与下列 MFC 视图或文档以及命令传送相似的功能:

  • 外壳程序集成

    当右击文档并选择如“打开”、“编辑”或“打印”之类的谓词时,MFC 将处理外壳程序所用的动态数据交换 (DDE) 命令和命令行参数。Windows 窗体则没有外壳程序集成,并且不对外壳程序谓词作出响应。

  • 文档模板

    在 MFC 中,文档模板将包含在框架窗口(在 MDI、SDI 或 MTI 模式中)中的视图与打开的文档相关联。Windows 窗体中则不存在文档模板这样的功能。

  • 文档

    当从外壳程序打开一个文档时,MFC 将注册这些文档文件类型并处理此文档类型。Windows 窗体则不支持文档。

  • 文档状态

    MFC 会维持文档的已更新状态。因此,当关闭应用程序、关闭包含应用程序的最后一个视图或退出 Windows 时,MFC 将提示您保存文档。Windows 窗体则不具有这样的支持。

  • 命令

    MFC 有命令的概念。菜单栏、工具栏和上下文菜单都可以调用相同的命令,例如,“剪切”和“复制”。在 Windows 窗体中,命令是特定 UI 元素(如菜单项)上的紧绑定事件;因此,必须将所有命令事件显式挂钩。在 Windows 窗体中也可以用单个处理程序处理多个事件。有关更多信息,请参见将多个事件连接到 Windows 窗体中的单个事件处理程序。

  • 命令传送

    MFC 命令传送使活动视图或文档能够处理命令。由于相同的命令通常对不同的视图有不同的意义(例如,“复制”在文本编辑视图和在图形编辑器中的行为就不同),因此需要由活动视图来处理命令。由于 Windows 窗体菜单和工具栏对活动视图没有固有理解,因此在未编写额外内部代码的情况下,对于 MenuItem.Click 事件,每个视图类型只能有唯一的处理程序。

  • 命令更新机制

    MFC 具有命令更新机制。因此,活动视图或文档负责 UI 元素的状态(例如,启用或禁用菜单项或工具按钮、选中状态等)。Windows 窗体中则不存在命令更新这样的机制。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值