- 博客(7)
- 收藏
- 关注
转载 ATL3.0中的窗口类
ATL3.0中的窗口类 作者:Michael Park 译者:京山游侠原文出处: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvc60/html/atlwindow.asp 摘要:讨论Active Template Library (ATL) 3.0中的一些
2008-07-02 14:42:00 1025
转载 深入剖析WTL—WTL框架窗口分析 (6)
WTL对框架窗口的封装ATL仅仅是封装了窗口函数和提供了消息映射。实际应用中,需要各种种类的窗口,比如,每个界面线程所对应的框架窗口。WTL正是在ATL基础上,为我们提供了框架窗口和其他各种窗口。 所有的应用程序类型中,每个界面线程都有一个框架窗口(Frame)和一个视(View)。它们的概念和MFC中的一样。 图示是WTL的窗口类的继承图。 WTL框架窗口为我们提
2008-07-02 14:11:00 506
转载 深入剖析WTL—WTL框架窗口分析 (5)
ATL对窗口消息处理函数的封装 在本节开始部分谈到的封装窗口的两个难题,其中第一个问题是怎样解决将窗口函数的消息转发到HWND相对应的类的实例中的相应函数。 下面我们来看一下,ATL采用的是什么办法来实现的。 我们知道每个Windows的窗口类都有一个窗口函数。 LRESULT WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPA
2008-07-02 14:10:00 510
转载 深入剖析WTL—WTL框架窗口分析 (4)
superclass superclass是一种生成新的窗口类的方法。它的中心思想是依靠现有的窗口类,克隆出另一个窗口类。被克隆的类可以是Windows 预定义的窗口类,这些预定义的窗口类有按钮或下拉框控制等等。也可以是一般的类。克隆的窗口类使用被克隆的类(基类)的窗口消息处理函数。 克隆类可以有自己的窗口消息处理函数,也可以使用基类的窗口处理函数。 需要注意的是,supercla
2008-07-02 14:09:00 636
转载 深入剖析WTL—WTL框架窗口分析 (3)
在上面的例子中,CDerived从CBase中派生出来。CDerived类通过定义一个WM_LBUTTONDOWN消息处理函数来改变CBase类代表的窗口的功能。 这样,CBase类的消息映射定义了一个ProcessWindowMessage()函数,而CDerived类的消息映射也定义了一个ProcessWindowMessage()函数。 那么,我们在窗口处理函数逻辑中怎样把这两个
2008-07-02 14:08:00 1234
转载 深入剖析WTL—WTL框架窗口分析 (2)
消息映射的目的是实现ProcessWindowMessage()。ProcessWindowMessage()函数是窗口函数的关键逻辑。 一共有三种消息处理宏,分别对应三类窗口消息——普通窗口消息(如WM_CREATE),命令消息(WM_COMMANS)和通知消息(WM_NOTIFY)。 消息处理宏的目的是将消息和相应的处理函数(该窗口的成员函数)联系起来。 · 普通消息处理宏
2008-07-02 14:07:00 550
转载 深入剖析WTL—WTL框架窗口分析 (1)
WTL的基础是ATL。WTL的框架窗口是ATL窗口类的继承。因此,先介绍一下ATL对Windows窗口的封装。 由第一部分介绍的Windows应用程序可以知道创建窗口和窗口工作的逻辑是: 1 注册一个窗口类 2 创建该类窗口 3 显示和激活该窗口 4 窗口的消息处理逻辑在窗口函数中。该函数在注册窗口类时指定。 从上面的逻辑可以看出,要封装窗口主要需解决怎样封装窗
2008-07-02 14:05:00 742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人