WTL
文章平均质量分 80
kedoumy
这个作者很懒,什么都没留下…
展开
-
WTL体系结构
绪论 WTL最终来了,而且提供了我所希望的功能.我在WTL Bytesize(译文)的文章列出WTL主要特征.在本文中,我将描述一下WTL的体系结构,同时我会给出一些简单的例子来演示如何使用它的那些特征.希望能够对您有所帮助. WTL应用程序的类型 WTL有好几种应用程序类型,供您在AppWizard选取. 下表对这些应用程序进行了描述. 这种弹性构成了转载 2007-09-30 10:39:00 · 824 阅读 · 0 评论 -
WTL控件的自画操作
Windows 为控件提供了自画(owner draw)的能力,程序员可以通过这一机制实现非常酷的控件外观。WTL(Windows Template Library)提供了一个CownerDraw模板,用来对控件的自画操作提供支持。 COwnerDraw 的声明为如下形式:template <class T> class CownerDraw{ ……转载 2007-10-09 18:16:00 · 1620 阅读 · 0 评论 -
深入剖析WTL—WTL消息循环机制详解
消息过滤首先看一下CMessageLoop的核心逻辑CMessageLoop.Run()的代码: int CMessageLoop.Run() { BOOL bDoIdle = TRUE; int n转载 2007-10-08 14:05:00 · 714 阅读 · 0 评论 -
深入剖析WTL——如何封装Windows界面程序
深入剖析WTL——如何封装Windows界面程序 首先还是让我们来看看WTL是怎样封装应用程序线程的。 和ATL类似,WTL使用一个_Module全局变量来保存全局数据,并通过它来引用应用程序级的代码。在WTL中,该变量是CAppModule或CServerAppModule的实例。后者通常作为COM服务器的应用程序。 每个应用程序都有一个或多个界面线程组成。首先剖析一下WTL是怎样管转载 2007-10-08 12:32:00 · 595 阅读 · 0 评论 -
WTL源码剖析 --- ATLAPP.H
WTL源码剖析 --- ATLAPP.H 作者:姜江QQ:457283E-mail:jznsmail@163.netATLAPP.H包含了消息循环类、接口类、和产生应用程序所必需的一些基础类定义。 类定义如下: CmessageFilter类---用于消息过滤的 CidleHandler 类---用于空闲消息处理的转载 2007-10-08 12:30:00 · 1366 阅读 · 0 评论 -
深入剖析WTL——Win32模型
深入剖析WTL——Win32模型 WTL 是Windows Template Library的缩写。最初,WTL是由微软的ATL(Active Template Library)小组成员开发的一个SDK例子。主要是基于ATL的对Win32 API的封装。从2.0后,功能逐步完善,成为了一个完整的支持窗口的框架(windows framework)。 与MFC相比较,功能并没有MF转载 2007-10-08 12:35:00 · 539 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(2)
ATL的消息处理宏消息映射的目的是实现ProcessWindowMessage()。ProcessWindowMessage()函数是窗口函数的关键逻辑。 一共有三种消息处理宏,分别对应三类窗口消息——普通窗口消息(如WM_CREATE),命令消息(WM_COMMANS)和通知消息(WM_NOTIFY)。 消息处理宏的目的是将消息和相应的处理函数(该窗口的成员函数)联系起来。 · 普通消息处理宏转载 2007-09-30 11:04:00 · 431 阅读 · 0 评论 -
WTL编程的十个技巧
介绍这篇文章将介绍十个开发WTL应用程序的小技巧。这些技巧内容涉及从怎么控制和放置应用程序主窗口到怎么在控件中显示字符串和整数等系列问题。你可以到http://www.codeproject.com/wtl/Tips/TipsProject.zip下载使用这十个技巧的示例程序。十个技巧包括:·设置主窗口的大小·启动时在屏幕中央显示主窗口·设置主窗口的最小/最大尺寸·动态加载主窗口标题·将工具栏设置转载 2007-09-30 10:50:00 · 656 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(1)
WTL的基础是ATL。WTL的框架窗口是ATL窗口类的继承。因此,先介绍一下ATL对Windows窗口的封装。 由第一部分介绍的Windows应用程序可以知道创建窗口和窗口工作的逻辑是: 1 注册一个窗口类 2 创建该类窗口 3 显示和激活该窗口 4 窗口的消息处理逻辑在窗口函数中。该函数在注册窗口类时指定。 从上面的逻辑可以看出,要封装窗口主要需解决怎样封装窗口消息处理机制。 对于窗口消息处理机转载 2007-09-30 11:05:00 · 557 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(4)
superclass是一种生成新的窗口类的方法。它的中心思想是依靠现有的窗口类,克隆出另一个窗口类。被克隆的类可以是Windows预定义的窗口类,这些预定义的窗口类有按钮或下拉框控制等等。也可以是一般的类。克隆的窗口类使用被克隆的类(基类)的窗口消息处理函数。 克隆类可以有自己的窗口消息处理函数,也可以使用基类的窗口处理函数。 需要注意的是,superclass是在注册窗口类时就改变了窗口的行为。转载 2007-09-30 11:01:00 · 493 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(3)
在上面的例子中,CDerived从CBase中派生出来。CDerived类通过定义一个WM_LBUTTONDOWN消息处理函数来改变CBase类代表的窗口的功能。 这样,CBase类的消息映射定义了一个ProcessWindowMessage()函数,而CDerived类的消息映射也定义了一个ProcessWindowMessage()函数。 那么,我们在窗口处理函数逻辑中怎样把这两个类的Proc转载 2007-09-30 10:58:00 · 446 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(5)
ATL对窗口消息处理函数的封装 在本节开始部分谈到的封装窗口的两个难题,其中第一个问题是怎样解决将窗口函数的消息转发到HWND相对应的类的实例中的相应函数。 下面我们来看一下,ATL采用的是什么办法来实现的。 我们知道每个Windows的窗口类都有一个窗口函数。 LRESULT WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);转载 2007-09-30 10:54:00 · 435 阅读 · 0 评论 -
深入剖析WTL—WTL框架窗口分析(6)
WTL对框架窗口的封装ATL仅仅是封装了窗口函数和提供了消息映射。实际应用中,需要各种种类的窗口,比如,每个界面线程所对应的框架窗口。WTL正是在ATL基础上,为我们提供了框架窗口和其他各种窗口。 所有的应用程序类型中,每个界面线程都有一个框架窗口(Frame)和一个视(View)。它们的概念和MFC中的一样。 图示是WTL的窗口类的继承图。 WTL框架窗口为我们提供了: 一个应用程序的标题,窗转载 2007-09-30 10:52:00 · 557 阅读 · 0 评论 -
WTL之父Nenad Stefanovic访谈录
myan引介作为现代C++最重要的特色技术,template正在各个传统领域攻城略地。从基本算法与数据结构,到正则表达式与XML解析,从高性能数学计算,到资源的分配与管理,从网络分布式计算环境,到组件模型创建,从静态多态性的维度扩展,到设计模式的自动生成,神奇的template显示出其令人叹为观止的强劲实力,如果不是有一个隐隐的痛处,template爱好者简直可以去狂欢了。这个隐隐的转载 2007-10-08 14:09:00 · 438 阅读 · 0 评论