- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC,ATL,WTL 的历史沿袭
需求推动了技术的发展,从 MFC 到 ATL,从 ATL 再到 WTL 的发展历程我想就是一个最好的见证。
早期的 VC++开发者们发现了 MFC(Microsoft Foundation Classes) 这样一个好东东。他们发现,MFC 提供了一个强大的类库,很好的满足了面向对象编程的需要。随着泛型编程技术的发展和时间的推移,慢慢地,他们慢慢觉得 MFC 的类库过于庞大和宽泛,而且它提供的模板库只覆盖了很有限的领域。于是, ATL 应运而生。
ATL(Active Template Library),简称活动模板库。ATL 的设计者们通过它来它提供快速的 COM 组件封装。ATL 很好地体现了用模板进行编程的思想。如果模板设计得当,就很容易灵活的适应各种不同的需求,而且更容易跟进新技术的发展需求。
但是,作为泛型编程的爱好者们始终要面对的一个主要难题,那就是如何方便地进行图形用户界面(GUI)设计。因为 ATL 只是提供了对 Win32/64 窗口的低级封装,因此 ATL 的使用者们在用 ATL 进行 COM 开发的同时,不得不借助于MFC 来进行 COM 组件的 UI 编程。因为在 GUI 方面,ATL 确实是爱莫能助。
WTL(Windows Template Library)在体现模板编程思想的同时,对模板进行了很好的高级封装,很好的满足了 UI 编程的各种需求。这也是 WTL 设计者们的用意所在。在用 WTL 生成应用程序的时候不需要将 DLL 文件与 EXE 文件一起交付给用户,而且,WTL 又有很好的兼容性。你可以将它与 ATL, STL, VC++ 数据模板,第三方模板,或者你自己的模板这几种中的任何一种一起使用。正因为这些特点,使得当前 WTL 成为了大部分高级的 C++开发者们进行 UI 设计时的首选。
从代码的层面比较WTL 与 ATL
Win32/64 API 是由一系列 C 函数构成的集合,它覆盖了 COM 和 Window 编
程的大部分领域。ATL 是一系列的 C++模板集,大部分是为 COM 编程服务的。Win32/64 API 和 ATL 都只是提供了对于 UI 编程的低级支持。如 ATL,WTL
也是 C++模板集,但是它很纯粹地集中于对 UI 编程的高级支持。
如下图所示,ATL 调用 Win32/Win64 API ,WTL 调用 ATL 模板和
Win32/Win64 API 。
WTL
WTL 的功能体现和优势
.
WTL 当前是第二个版本,第一个是 3.1 版,第二是 7.0 版。WTL 的功能主要体现在以下几个方面:
提供应用程序框架
提供对 UI 的高级支持
封装 Window 控件,系统对话框以及 GDI 对象
它的优势体现在:
?
?
?
?
?
?
不包含复杂的文档/视图框架
具有源于 MFC 的基本的 UI 特性
提升了一些 MFC 的特性(例如,更加灵活的切分窗口) 比静态链接 MFC 的代码要小的多
可对 WTL 进行 bug 修正,而不影响已存在的应用程序(MFC 中如果通
过替换 MFC/CRT 的 DLL 来修正一个应用程序中的 bug,往往会是另一应用程序崩溃)
您可能关注的文档
- linu内存管理分析和总结.docx
- Linu内核QoS实现机制.docx
- Linu内核版本及特性.docx
- linu内核必读5本书.docx
- linu内核编译分析和总结.docx
- Linu内核编译过程详解.docx
- LINU内核编译和安装.docx
- linu内核编译详细教程.docx
- Linu内核代码风格.docx
- Linu内核的等待队列.docx
- MFC的DLL分析和总结.docx
- MFC和Win32分析和总结.docx
- MFC模态和非模态对话框编程.docx
- MFC消息映射分析和总结.docx
- MFC源码剖析之——MFC来龙去脉.docx
- MFC子窗口和父窗口.docx
- Microsoft office 2011简体中文专业增强版激活操作步骤.docx
- Microsoft SQL Server 还原数据库操作步骤的详细解析.docx
- Microsoft Virtual WiFi Miniport Adapter(微软虚拟无线微型适配器).docx
- MII (Media Independent Interface 介质无关接口).docx
最近下载
- 2025煤矿安全规程新旧修改条款对照学习课件.pptx
- 第一章 第一节物质的分类及转化 课后作业题— 高一化学上学期人教版(2019)必修第一册.docx VIP
- ZY_T 001.8-1994中医皮肤科病证诊断疗效标准.pdf
- 2024年全国“红旗杯”班组长大赛(复赛)备考试题库(简答、案例分析题).docx VIP
- 押礼先生交礼时的讲话雅词集锦.docx VIP
- 佳能微单eos m3使用说明书-新.pdf VIP
- 小学生品德发展与道德教育(首都师范)中国大学MOOC慕课 客观题答案.pdf VIP
- 浙江省宁波市2024-2025学年高二上学期10月月考物理试卷含答案.docx VIP
- 品管圈PDCA参赛作品-血透中心提升维持性血液透析患者钙磷甲状旁腺激素合格率医院品质管理案例(1).pptx
- 《东莞市普洱茶干仓仓贮技术规范》.doc VIP
文档评论(0)