MFC,ATL,WTL的历史沿袭

从零开始的WTL入门教程(1) 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当前是第二个版本,第一个是3.1版,第二是7.0版。WTL的功能主要体现在以下几个方面:

· 提供应用程序框架

· 提供对UI的高级支持

· 封装Window控件,系统对话框以及GDI对象

它的优势体现在:

  • 不包含复杂的文档/视图框架
  • 具有源于MFC的基本的UI特性
  • 提升了一些MFC的特性(例如,更加灵活的切分窗口)
  • 比静态链接MFC的代码要小的多
  • 可对WTL进行bug修正,而不影响已存在的应用程序(MFC中如果通过替换MFC/CRT的DLL来修正一个应用程序中的bug,往往会是另一应用程序崩溃)

WTL界面介绍 前 言 WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。 如果想在vs 2019 上安装wtl ,可以使用看如下文章: https://www.cnblogs.com/Lzl678/p/10771668.html WTL概述 WTL 是Windows Template Library 的缩写。最初,W 阅读详情

相关推荐

制作控件,ATLMFC,应该使用哪个

摘要目前MFCATL代表了两种框架,分别面向不同类型的基于Windows的开发。MFC代表了创建独立的Windows应用的一种简单、一致的方法;ATL提供了一种框架来实现创建COM客户机和服务器所必须的样板文件代码。这两种框架在它们对于开发ActiveX的用途上会合了。我们将看看这两种框架是如何适用于创建ActiveX控件的——突出其优缺点,亲自经历创建一个控件的过程——以便你能够决定何时使用一

Little Things 3350

atl wtl 简要介绍

WTL 具有两面性,确实是这样的。它没有MFC的界面(GUI)类库那样功能强大,但是能够生成很小的可执行文件。如果你象我一样使用MFC进行界面编程,你会觉得MFC提供的界面控件封装使用起来非常舒服,更不用说MFC内置的消息处理机制。当然,如果你也象我一样不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,WTL就是你的选择。

深入解析WTL插件:WTL Helper与Visual FC的实用技巧

WTL(Windows Template Library)是一个轻量级的C++库,专门用于简化Windows桌面应用程序的开发。它为开发者提供了一套丰富的界面元素和组件,使得创建具有专业外观和感觉的应用程序变得更加简单、快捷。WTL是基于 ATL(Active Template Library)的,但并未继承 ATL 的 COM 相关功能。这意味着,WTL 专注于创建本地应用程序,而不是 COM 服务器。

weixin_42513928的博客 746

关于MFCATL

如果你希望用C++来写ActiveX®控件,有两个流行的框架,一个是Microsoft® Foundation Classes (MFC),另一个是ATL。我将深入的解释这两种框架对开发ActiveX控件所提供的支持,帮助你更好的决定哪种模型最适合你的开发环境和需求。 ActiveX控件的完全形态 ActiveX控件基于构件对象模型COM,使得ActiveX控件成为可

哈库纳的专栏 3413

MFCATL窗口消息封装机制对比分析

http://www.brucesky.com/articles/242 新产品在不紧不慢的进行中,这应该是有史以来开发比较“自由”的一个项目。在折腾完一个功能服务器的demo之后,开始折腾起PC客户端。Leader说客户端界面需用ATL来实现。这时候可以满足一下客户端界面开发的兴趣,于是开始学习ATL界面开发,有人说做界面是个累人加无趣的体力活,但对于做界面的新手来说自得其乐,君子懂得

珍爱生命 远离C++ 2543

MFC,ATL,WTL历史沿袭--

需求推动了技术的发展,从MFCATL,从ATL再到WTL的发展历程我想就是一个最好的见证。 早期的VC++开发者们发现了MFC(Microsoft Foundation Classes) 这样一个好东东。他们发现,MFC提供了一个强大的类库,很好的满足了面向对象编程的需要。随着泛型编程技术的发展和时间的推移,慢慢地,他们慢慢觉得MFC的类库过于庞大和宽泛,而且它提供的模板库只覆盖了很有限的领域

Chinamming的专栏 860

WTL,ATLMFC之比较

WTL,ATLMFC之比较 2005-01-27 11:05 MFC,ATL,WTL历史沿袭 需求推动了技术的发展,从MFCATL,从ATL再到WTL的发展历程我想就是一个最好的见证。 早期的VC++开发者们发现了MFC(Microsoft Foundation Classes) 这样一个好东东。他们发现,MFC提供了一个强大的类库,很好的满足

jack_incredible的专栏 5694

闲聊桌面应用开发[Win16->Win32->ATL/WTL/MFC->WinForm->WPF/Silverlight/WinRT]

闲来无聊,正好小组人员讨论到桌面的开发,那把笔者接触的WIndows平台下的几个主要的发展过程聊一聊。 主要从概述,参考资料,图书等几个方面说起。 所有的界面开发都会涉及如下的几个方面的内容: v 控件 [Contrrols Widget]及验证 v 绑定:数据绑定到控件和控件的内容反馈回数据 v 布局系统: v 模式和支撑:和服务的通讯,MVC MVP MVVM等模式 史前期-&g...

weixin_33757911的博客 234
上一篇: chm文件无法打开的解决方法,chm电子书显示“此程序无法显示网页”的解决办法
下一篇: artDialog
numbibi
博客等级 码龄15年 28粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值