中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 高级用户界面
《WTLMakesUIProgrammingaJoy》译序
作者:hwee 时间:2001-10-01 09:50 出处:互联网 责编:chinaitpower
              摘要:《WTLMakesUIProgrammingaJoy》译序
《WTL起步 - 玩转图形界面》 译序

 

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

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

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

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

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

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

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

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

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

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

喜欢WTL是因为它的廉价,可以免费获取,可以使用免费的标准C++编译器编译【注一】

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

……

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

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

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

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

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

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

Ø       窗口和工具条的创建

Ø       各类视图窗口使用

Ø       文档列表的显示和维护

Ø       开发单文档(SDI)程序

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

Ø       开发多文档(MDI)程序

Ø       封装图形设备接口GDI

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

 

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

Ø       创建包含位图的视图

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

Ø       创建可以卷滚的视图

Ø       调用系统通用对话框

Ø       各种控件封装类

Ø       打印和打印预览

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

Ø       消息过滤和映射技术

Ø       闲置(Idle)时间处理

Ø       图形界面更新

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

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

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

 恒瑞

2003119日凌晨

于苏州恒瑞阁

【注一】

使用免费的Borland C++编译器或GNUC++编译器可以编译WTL程序。不过必须拷贝ATL库以及作相应的修改。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有