- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WTL起步-玩转图形界面概要
目录序言3第一部分基础篇5第一章 WTL的基础--ATL5第二章 WTL之路11第三章命令条14第四章带视图的框架窗口15第五章使用MRU17第六章创建多线程SDI应用程序19第七章创建MDI应用程序23第八章分隔窗口26第九章 GDI的封装31第十章 CString及其它34第十一章动态数据交换(DDX)的WTL支持35第十二章 WTL向导37第十三章 WTL例程39第二部分提高篇40第一章位图视图的例程40第二章上下文菜单41第三章滚动视图43第四章通用对话框45第五章控件封装47第六章打印与打印预览52第七章属性页56第八章消息过滤59第九章空闲处理62第十章 UI更新63第十一章消息分解65第十二章 WTL的未来67序言WTL是2000年1月随Windows的平台SDK始发的。起初是ATL项目组写的一个基于ATL的,封装了相关win32窗口API的例程。自ATL2.0开始,ATL就已经有一些简单的相关窗口函数的封装类,例如:CWindow,CWindowImpl和CDialogImpl。然而,当我们比较MFC的界面相关部分的功能时,ATL对界面编程的支持简直就是一个玩笑。甚至到了ATL3.0,ATL仍然没有对诸如MDI,命令条,DDX,打印,GDI等流行功能的支持。最被人喜爱的MFC的CString也没被支持进来。没有对这些功能的支持,ATL很难满足拥有压倒性数量的使用MFC的编程人员的需求。WTL就是ATL项目组认为ATL风格的窗口编程模型应该有的样子。表1列出了WTL与MFC在界面编程相关功能方面的比较。特性MFCWTL依赖库支持不支持 (构建ATL之上)应用向导支持支持支持类向导支持支持不支持(第三方插件VisualFC支持)微软的公开支持支持不支持(微软内部的志愿者支持)支持OLE文档支持不支持支持视图支持支持支持文档支持不支持基本win32/通用控件封装支持支持高级通用控件封装(平坦滚动条、IP地址控件、页面控件等)不支持支持命令条支持(包含bitmapped context menus)不支持 (MFC提供对话条)支持CString支持支持GDI封装支持支持辅助类(CRect, CPoint, 等)支持支持Wizards属性页/向导支持支持SDI, MDI支持支持支持多线程SDI支持不支持支持MRU支持支持支持可停靠窗口/条支持不支持分隔窗口支持支持DDX支持支持 (不是MFC的扩展)打印/打印预览支持支持滚动视图支持支持客户自画封装不支持支持消息/命令路由支持支持通用对话框支持支持HTML视图支持支持简单实例应用不支持不支持UI更新支持支持基于模板不支持支持带工具条,状态条和菜单的不做任何情事的SDI应用静态链接时大小超过228KB(+MSVCRT.DLL (288KB))24k (带 /OPT:NOWIN98)(+ MSVCRT.DLL如果使用 CString)带工具条,状态条和菜单的不做任何情事的SDI应用动态链接时大小24KB +MFC42.DLL (972KB) +MSVCRT.DLL (288KB)N/A对运行时库的依赖CRT (+ MFC42.DLL, 如果动态链接)None (如果使用需要CStringCRT)表1 WTL与MFC的比较当然,WTL不可能(也不愿意)做所有MFC都能做的事儿。MFC支持经典的OLE,文档/视图框架和可停靠窗口,而WTL没有。而且还缺乏微软的“官方”支持。然而,来自于前ATL项目组成员,以及活跃在ATL开发社区的“非官方”支持,可以减轻您对支持方面的担心。为何ATL开发社区喜欢WTL?因为这四点:WTL是基于C++模板技术的;应用程序的最小编译代码小于24K;没有任何多如的动态链接库依赖(如果您用CString,会链接CRT);拥有ATL一样的灵活和小巧。此外,WTL和MFC的界面编程模型非常接近,还包括了从它移植过来的CString。在我们这本分两部分的书里,我将揭开WTL神秘的面纱。在第一部分里,我们讨论WTL框架窗口的实现结构。我们将解释如何编写基于WTL的SDI,MDI和多线程SDI,以及IE浏览器样式的应用程序。进而,我们讨论WTL的辅助类,包括对DDX的封装。最后,我们看一下WTL的AppWizard和本书附带的例程。在本书的第二部分,我们讨论WTL命令条的实现结构,以及对Windows通用控件的封装和一些自定义的用户界面小部件。我们还将进一步讨论WTL的Windows消息路由结构,包括消息分解,过滤和空闲处理。我们的WTL之旅没有结束,直到我们讨论完通用对话框,属性页/属性表,打印支持,以及滚动窗口。所有的这一切我们计划放在第二部分。在我们告诉你如何用WTL开发程序之前,让我们先复习一下怎样用纯ATL(即不包含WTL)来开发应用程序。第一部分 基础
文档评论(0)