链接:上一部分;下一部分
第七部分 – 分割条窗口
|
内容
- 简介
- WTL 分割条窗口
- 开始示例工程
- 在窗格中创建窗口
- 消息路由
- 窗格容器
- 类
- 基本方法
- 在分割条窗口中使用窗格容器
- 关闭按钮以及消息处理
- 高级分割条特性
- 嵌套分割条
- 在窗格中使用 ActiveX 控件
- 特殊绘制
- 窗格容器中的特殊绘制
- 奖励:状态栏中的进度条
- 下一步
- 参考资料
- 修订历史
简介
自从 Windows 95 的资源管理器以其文件系统的双窗格视图粉墨登场以来,分割条窗口就成了一个流行的 UI 元素。MFC 中有一个复杂而强大的分割条窗口类,但是学会如何使用它却有点困难,而且它关联于文档/视图框架。在本部分里,我将探讨 WTL 的分隔条窗口,与 MFC 的分割条窗口相比没那么复杂。尽管 WTL 分隔条的实现没有 MFC 的特性丰富,但它却极其易于使用和扩展。
本章的示例工程是对 ClipSpy 的重新实现,当然,是使用了 WTL 而不是 MFC。如果你对该程序不熟悉,现在可以先浏览一下相关的文章,因为在这儿我会复制 ClipSpy 中的功能,但不会提供其工作原理的深入解释。本文主要聚焦于分割条窗口而不是剪贴板。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
ClipSpy, CSplitterImpl, CSplitterWindow, WTL, 分割条窗口
链接:上一部分;下一部分
第六部分 – 宿纳 ActiveX 控件
|
内容
- 简介
- 以 AppWizard 开始
- 使用资源编辑器添加控件
- 用于宿纳控件的 ATL 类
- CAxDialogImpl
- AtlAxWin 和 CAxWindow
- 调用控件的方法
- 接收控件激发的事件
- 在 VC 6 里添加处理器
- 在 VC 7 里添加处理器
- 事件的知会
- 示例工程概述
- 运行时创建 ActiveX 控件
- 键盘处理
- 下一步
- 修订历史
简介
在这第六部分里,我将介绍 ATL 对在对话框中宿纳(hosting)ActiveX 控件的支持。由于 ActiveX 控件是 ATL 的专项,所以这儿并没有相关的 WTL 类。不过,因为 ATL 宿纳控件的方式与 MFC 迥异,所以这是我们要介绍的一个重要主题。我会介绍如何宿纳控件以及接收(sink)事件,并开发一个相比用 MFC 的 ClassWizard 写就的应用毫无功能损失的应用程序。当然,你可以在你写的 WTL 应用中使用 ATL 对控件宿纳的支持。
阅读全文…
|
Internet Explorer Programming, MFC 程序员的 WTL 教程, WTL
ActiveX, IE, Internet Explorer, WTL
链接:上一部分;下一部分
第五部分 – 高级对话框 UI 类
|
内容
- 第五部分简介
- 属主绘制(Owner Draw)以及定制绘制(Custom Draw)的专用类
- 新的 WTL 控件
- CBitmapButton
- CCheckListViewCtrl
- CTreeViewCtrlEx 和 CTreeItem
- CHyperLink
- 对话框控件的 UI 更新
- DDV
- 改变对话框的大小
- 下一步
- 参考资料
- 修订历史
第五部分简介
在上一部分里,我们了解了一些关于对话框和控件的 WTL 特性,其工作方式与 MFC 中的对应类很相似。在本部分里,我们会介绍几个新的 WTL 类,它们实现了一些更加高级的 UI 特性:属主绘制(Owner draw)和定制绘制(Custom draw),新的 WTL 控件,UI 更新,以及对话框数据验证(DDV)。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
CCustomDraw, COwnerDraw, DDV, DDX, WTL, 高级对话框 UI 类
链接:上一部分;下一部分
第四部分 – 对话框和控件
|
内容
- 简介
- 重温 ATL 对话框
- 通用控件封装类
- 使用 AppWizard 创建基于对话框的应用
- 使用控件封装类
- ATL 方法 1 – 附着到 CWindow
- ATL 方法 2 – CContainedWindow
- ATL 方法 3 – 子类化
- WTL 方法 1 – DDX_CONTROL
- WTL 方法 2 – DDX_CONTROL_HANDLE
- 更多 DDX 的内容
- DDX 宏
- 关于 DoDataExchange() 的更多信息
- 使用 DDX
- 处理来自控件的通知
- 拾零
- 修订历史
第四部分简介
对话框和控件是 MFC 确确实实节省你时间和精力的一个地方。如果没有 MFC 的控件类,你就会被淹没在填充结构以及写下成吨的 SendMessage 调用以管理控件的琐事中。而且 MFC 还提供了对话框数据交换(DDX),可以在控件和变量之间传递数据。WTL 也支持所有这些特性,并且在其通用控件的封装类里还加入了一些改进。在本文中,我们致力于一个基于对话框的应用,它演示了你所使用过的 MFC 特性,以及一些 WTL 在消息处理上的增强。高级 UI 特性以及 WTL 中的新控件将在第五部分里介绍。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
DDX, WTL, 对话框, 控件
链接:上一部分;下一部分
第三部分 – 工具栏和状态栏
|
内容
- 第三部分介绍
- 框架中的工具栏和状态栏
- AppWizard 为工具栏和状态栏生成的代码
- CMainFrame 如何创建栏
- 显示或者隐藏栏
- 栏的内建特性
- 使用不同的风格创建工具栏
- 工具栏编辑器
- 工具栏按钮的 UI 更新
- 用复用栏代替平实的工具栏
- 多窗格状态栏
- 下一步:关于对话框的一切
- 参考资料
- 修订历史
第三部分介绍
从在 Windows 95 中被作为通用控件开始,使用工具栏和状态栏已经成为了平常事。MFC 对多浮动工具栏的支持也对他们的流行起了推波助澜的作用。在后来的通用控件升级中,复用栏(Rebar,或者最初被称为的酷栏,coolbar)又为如何呈现工具栏增添了新的途径。在这一部分里,我会涵盖以下知识,WTL 如何对这些种类的栏进行支持以及如何在自己的应用中使用它们。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
WTL, 工具栏, 状态栏
链接:上一部分;下一部分
第二部分 – WTL 中的 GUI 基础类
|
内容
- 第二部分介绍
- WTL 综述
- 开始一个 WTL EXE
- WTL 消息映射的增强
- 使用 WTL AppWizard 可以得到什么
- 通历向导(VC 6)
- 通历向导(VC 7)
- 检查生成的代码
- CMessageLoop 内幕
- CFrameWindowImpl 内幕
- 回到时钟程序
- UI 更新
- 关于消息映射的最后注意事项
- 下一站,1995
- 修订历史
第二部分介绍
好,是实实在在地讲述 WTL 的时候了!在这部分里,我会介绍写一个主框架窗口的基础知识,以及 WTL 引入的比较受欢迎的改进,比如 UI 更新和更好的消息影射。为了最大程度地掌握本部分的内容,你应该安装 WTL 以使其头文件处于 VC 的搜索路径中,而且 AppWizard 也在适当的目录下。WTL 的分发包中附有如何安装 AppWizard 的说明,请参考该文档。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
CDialogResize, GUI 基础类, WTL
链接:
下一部分
第一部分 – ATL 中的 GUI 类
|
本章内容
- README.TXT
- 本系列介绍
- 第一部分介绍
- ATL 背景知识
- ATL 窗口类
- 定义窗口实现
- 高级消息映射链和嵌入(Mix-in)类
- ATL EXE 的结构
- ATL 中的对话框
- 就要到 WTL 了,我保证!
- 修订历史
README.TXT
在继续或者在本文的讨论板块中发布帖子之前,我希望你能先阅读以下内容。
本系列原来是为 VC 6 用户写的,介绍 WTL 7.0 的内容。现在 VC 8 已经出来了,我觉得也到了更新本系列来介绍 VC 7.1 的时候了。;)(不过,VC 7.1 的从 6 到 7 的自动转换工作并不是总能平滑地完成,所以 VC 7.1 的用户在试着使用示例源代码的时候可能会遭遇失败)因而,我将继续下去,持续更新本系列。文章将更新到可以反映 WTL 7.1 的特性,并会在下载的源代码中包括 VC 7.1 的工程。
针对 VC 2005 用户的重要提示:VC 2005 的 Express 版本并不附带 ATL 或者 MFC,因此不能使用此版本编译 ATL 或者 WTL 工程。
阅读全文…
|
MFC 程序员的 WTL 教程, WTL
ATL, GUI, MFC, WTL
用于 VS 2008 的 WTL splitter App 的 wizard 安装包, 性质等同于 wtl 附带的 wizard, 下载地址:
用法很简单, 将下载下来的文件解压缩到一个文件夹, 然后双击运行 setup90-clswiz.js 和 setup90-SplitWiz.js 这两个脚本文件即可完成安装.
打开 vs 2008 即可全自动的新创建 wtl splitter 窗口风格的应用程序了.
阅读全文…
WTL, 技术心得
Splitter window, wizard, WTL
等了两年, 那个白俄还是没有更新 wtl helper, 实在难以忍受了, 将人家的东东改了改, 重新发布在我的自留地里.
下载地址,
可执行安装包: WTLHelper
源代码压缩包: wtlhelper9-src
以后谁有工夫将其放到 sourceforge 上, 就造福各使用者了.
如果你不知道这个东东是干嘛的, 请看 这里 . 这里是其 官方主页, 如果你想支持他对这个组件的开发, 可以给他捐款.
PS: Sourceforge 上的项目已经建立起来了, 网址是: http://sourceforge.net/projects/wtlhelper9 欢迎访问.
延伸阅读:
Tutorial : Creating Visual Studio Add-Ins
How to write a VS2010 Extension using Statement Lambdas
Simpler Code Add-In for Visual Studio 2008
Line Counter – Writing a Visual Studio 2005 & 2008 Add-In
WTL, 技术心得
WTL, WTL Helper
要实现一个将 IP 地址控件的 disabled 状态, 但是 Windows 的实现就没有将控件的颜色灰掉,
M$ 真是的, 最后一步懒得弄了, 我只好自己弄咯. 下面是我的WTL,实现代码. BTW, 这个控件在
动态改变大小时, 里面的四个 EDIT 的大小没跟着改变, 我也懒得弄了 
阅读全文…
WTL, 技术心得
ATL, CIPAddressCtrl, WTL
近期评论