分享
 
 
 

《WTL Makes UI Programming a Joy》 译序

王朝vc·作者佚名  2006-01-30
窄屏简体版  字體: |||超大  

第一次使用C++是1993年。

当时我主要的工作是PC虚拟仪器开发,环境是DOS,因为要操作硬件以及运行效率的原因,除了汇编,使用最多的是C语言。我正需要开发一套仿真Windows图形界面的函数库,用C简直是一场恶梦。好在在毕业后不久,因为当时导师在各处宣传Borland的C++集成开发环境,我得以有机会学习并使用它。

为了免除海量代码的折磨,边学边做地用C++做了一套框架,象极了当时对于我们PC286族只是作为玩具的Windows 3.1。我叫它W4D(Windows For Dos)。现在翻箱倒柜也只找到了当时打印的代码片断,大概不到4000行代码,在一叠已经泛黄的带孔的打印纸上。

记忆中,我靠这套框架曾换取了好多次面试时的印象分。

后来的几年中,我做得最多得是MIS,所以VB、Delphi和Power builder成了我的主业。特别喜欢Power builder的可视化继承,觉得那才是真正的OOP (Object-Oriented Programming,面向对象的编程)的实现。

我特别不喜欢拷贝和粘贴,不喜欢将同样的代码写两次,所以我喜欢C++中的模板技术(Template)。这也是VB、Delphi和Power builder包括后来的Java所不能支持的。

我也不喜欢为了发布一个小小的应用程序,需要带上一大堆的支持库,所以我一直用C/C++写一些小程序。但是由于开发图形界面的复杂,大多为Console-Based程序。而这世上所有的C++版本的Windows应用开发框架中,以使用WTL(Windows Template Library)开发出的程序为最小。(当然,用Borland的Delphi、C++ Builder也可以开发出免支持库的应用程序,但是这些工具实在是太昂贵了!)

WTL是微软的ATL小组中以Nenad Stefanovic为首的工程师们在为ATL开发窗口相关API的封装类库时开发的副产品。最早作为一个不包含官方支持服务的软件包出现在2000年1月发表的微软平台软件开发工具包(Platform SDK)中,当时是3.1版。目前最新的WTL7.0版可以从微软的MSDN网站(http://msdn.microsoft.com)上免费下载。

喜欢WTL是因为它的小巧,不需要任何支持库,编译出的运行代码是静态编译MFC程序的十分之一。

喜欢WTL是因为它的开放,所以的源代码都尽在掌握。并且不似MFC那样的庞大。

喜欢WTL是因为它的廉价,可以免费获取,经过修改ATL可以使用免费的标准C++编译器编译。

喜欢WTL是因为模板技术,WTL是目前唯一一种不但不排斥而且充分利用了模板技术的Windows应用开发框架(Windows Frameworks)。

……

也许,你会有更多的理由去喜欢它。但是学习WTL最大的苦恼莫过于没有微软官方的支持和少得可怜的学习资料。

我有幸从网上获得这份白皮书的英文版《WTL Makes UI Programming a Joy》,并且得到作者Nenad Stefanovic先生的许可来翻译它的中文版。

在按照原文翻译的同时,我增加了一些实践的经验总结嵌入在译文中的【恒瑞译注】中,并增加了一个附录,为我使用Borland免费的C++编译器来编译WTL程序的经验分享,以帮助读者在轻松掌握这门技术的同时尽可能廉价地搭建开发环境。

原作分为Part1和Part2两个文件,我在翻译的同时整合为一个完整的文件。

本书分为两个部分:基础篇和提高篇。

在【基础篇】中,作者从使用WTL的祖先ATL创建一个Windows应用程序开始逐步引入主题-WTL的使用。内容包括:

Ø 窗口和工具条的创建

Ø 各类视图窗口使用

Ø 文档列表的显示和维护

Ø 开发单文档(SDI)程序

Ø 开发象浏览器那样的多重SDI程序

Ø 开发多文档(MDI)程序

Ø 封装图形设备接口GDI

Ø Cstring仿真和其它MFC习惯仿真

在【提高篇】中,作者通过许多样例程序片断,引导读者使用WTL技术开发最流行的Windows图形界面要素。内容包括:

Ø 创建包含位图的视图

Ø 创建和使用上下文菜单(鼠标右键菜单)

Ø 创建可以卷滚的视图

Ø 调用系统通用对话框

Ø 各种控件封装类

Ø 打印和打印预览

Ø 创建和使用属性页(Properties Sheets)

Ø 消息过滤和映射技术

Ø 闲置(Idle)时间处理

Ø 图形界面更新

全书的风格统一,都是通过对一些样例程序代码片段来阐述实现机制。建议读者一边调试一边阅读。一方面是实践帮助记忆,另一方面也能在调试过程中举一反三,有一些小小的成就感,保持学习热情。

毕竟这不是可视化编程的教程,写代码永远没有画界面来得轻松。但是,乐趣和成就感还是代码给予的比较多些。

最后,预祝大家阅读愉快,调试愉快,使用WTL愉快!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有