Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 885|回复: 0
打印 上一主题 下一主题

微软为什么坚持使用 MFC 却不给 MFC 来一个真真意义上刮骨疗伤的升级呢?

[复制链接]

1272

主题

2067

帖子

7960

积分

认证用户组

Rank: 5Rank: 5

积分
7960
跳转到指定楼层
楼主
发表于 2023-3-29 09:09:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Qter 于 2023-3-29 14:32 编辑

https://www.zhihu.com/question/5 ... hare&utm_medium=all
作者:知乎用户
链接:https://www.zhihu.com/question/547690372/answer/2745194058
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

微软自己的产品Visual Studio 和Office 不是用MFC作为界面库的。他们都是用Windowless 渲染的技术。外界知道的是DirectUI:DirectUI 目前能找到的源代码:https://github.com/duilib/duilib 这种技术渲染效率高,占用系统资源少。DirectUI 是在 Windows 2000 和 Windows XP 之间开发的,作为一个实验性的可视化框架。DirectUI 早于 Avalon(又名 WinFX 后来又叫做 WPF),可以看到 DirectUI 和 Avalon 之间有许多相似之处。写 DirectUI 的开发者在 Avalon 团队成立时都加入了,所以精神上的联系并不意外。也可以将 DirectUI 视为 Avalon 的更简单且功能更弱的先驱。由于 DirectUI 是实验性的,围绕它的许多过程都没有正式化。特别是,DirectUI相当自由地分叉,没有统一的版本。Windows XP DirectUI:Windows XP 在三个地方使用了相对较早的 DirectUI 版本:资源管理器任务窗格、欢迎屏幕和添加或删除程序控制面板。MSN Explorer:在 Windows XP 之前,代码分叉并复制到了 MSN 团队,他们使用它运行并生成了 MSN Explorer。Messenger:Messenger 团队从 MSN Explorer 团队获得了 DirectUI 的副本,并进行了大量更改,尤其是在可访问性方面。Office NetUI:与此同时,DirectUI 的一个分支版本也交给了 Office 团队,他们将其用作他们称为 NetUI 的框架的基础。Office FlexUI:Office 人员进一步开发了 NetUI,并制作了 FlexUI。Windows Vista DirectUI:Windows Vista DirectUI 从 Windows XP DirectUI 开始,并合并到 Messenger DirectUI 的选定部分中。Windows 7 Ribbon:Windows 7 功能区基于 Office 功能区,因此是 Office NetUI/FlexUI 的一个分支。Windows LiveDUI:Live 团队开发了他们自己的 DirectUI 分叉版本,并从 Wave 4 开始发布。<img src="https://pica.zhimg.com/50/v2-da30a9fde48563dffc38ac7bb2f67bfe_720w.jpg?source=1940ef5c" data-size="normal" data-rawwidth="958" data-rawheight="332" data-default-watermark-src="https://picx.zhimg.com/50/v2-da30a9fde48563dffc38ac7bb2f67bfe_720w.jpg?source=1940ef5c" class="origin_image zh-lightbox-thumb" width="958" data-original="https://pic1.zhimg.com/v2-da30a9fde48563dffc38ac7bb2f67bfe_r.jpg?source=1940ef5c"/>DirectUI 家族谱系现在的Office 应该是FlexUI,Visual Studio 也是类似的技术。这一点很好检验,你用SPYXX 工具去测试一下这两款产品,整个界面只有一个Windows 句柄HWND。如果是MFC 界面库或者.NET WinForm 又或者是DELPHI写成的,那么每个控件都是一个窗体,都有一个句柄。Spy++ 简介 - Visual Studio (Windows)事实上,微软自己的产品早就抛弃了MFC 那套又大又沉的东西了,而这件事情也是十几年前的事情了。Visual Studio 2010 就大改了一把界面库,Office 甚至还要更早。这东西原理上就是你们轮子哥写的GacUI,他就在Office team。 事实上,对MFC 仍有情感的程序员应该去关注WTL:Windows Template Library (WTL)这玩意儿写得才精巧,而且是纯模板库实现。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-23 19:45 , Processed in 0.056341 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表