wtl单文档选项_WTL_简介与体系

简介

WTL

在开发者之间的悄悄传播已经超过一年了

,

传闻它是基于

ATL

,

并在微软内部使用

.

这理所当然的引

起了

ATL

开发者社区的主意

.

这些人从

ATL1.1

开始

,

就一直为

ATL

控件书写

UI

代码

,

但是他们发现

,

他们的所

写的代码常常就是纯的

Win32 GDI

代码

.

我告诉您

, WTL

并没有多大不同

.

是不是让人失望

?

,

因为

ATL

只是对

COM

进行了简单的封装

,

这也是

ATL

的强大之处

.

是的

,

ATL

您必须

通晓

COM.

您在

ATL

上额外花费的功夫跟您学习

COM

所作的努力比起来

,

简直微不足道

.

这跟那些需要把主

要精力花费在学习类库本身

,

忽略

COM

的库是完全不同的

.

WTL

与此类似

.

您需要懂得

Win32

窗口技术和

GDI.

只要您懂得

,

学习

WTL

就似清风抚面

,

再简单不过了

.

如果

您不懂

这些

,

那么您最好使用

VB

来写

UI

代码

.

WTL

有什么

?

它给各种类型的应用程序提供了一个基本的框架

.

注意

,

虽然您没有

MFC

那样的文档

/

视结构

,

但是您有视

(views).

WTL

有大量的代码让您来管理视

,

而且加入您自己的代码也很容易

.

WTL

AppWizard,

可以让

您生成

SDI, MDI

和多线程

SDI

程序多线程

SDI

IE

Windows Explorer

很像

.

它看起来是打开了多个程

序实例

,

实际上这些窗口都是属于一个进程的

).

另外

,

您的程序可以是基于对话框的

,

也可以是基于视的

.

视可以是基于

CWindowImpl

,

也可以是基于控件

,

甚至是

IE

里的一个

HTML

.

您可以选择您的程序是否需要一个

rebar

, command bar (CE-like), toolbar

/

status bar

.

另外

,

您的程序可以主持

ActiveX

控件

,

以及成为一个

COM

服务器

.

这里有几个关于视的选项

. WTL

提供

splitter

窗口类

(

这样在一个视里您可以有两个窗口

)

scroll

窗口类

(

样您的窗口可以比它显示的

"

"

).

WTL

也有个类似

MFC

UpDateUI

的东西

,

但是它们不是很一样

-

要的区别是您需要把需要更新的项用宏映射标注出来

,

然后您在您的类里加入执行

UpdateUI

的代码

.

DDX/DDV

WTL

也支持

,

同样类似

MFC,

但有不同

.

您必须加一个宏映射来实现

DoDataExchange,

然后加入

调用它的代码

.

现在

WTL

也有

GDI

类了

.

然而

,HDC

的封装类就像

CWindow

一样

,

只进行了很简单的封装

-

它几乎没有加

入任何新的功能

.

不过

,

WTL,

你可以得到播放

meta

文件和

OpenGL

支持

.

最有价值的我猜应该是打印机

DC

的那些继承类

- WTL

有打印机支持

,

甚至打印预览

.

当然也有

GDI

对象的封装

.

诸如画笔

,

画刷

,

区域等

.

WTL

对所有的

Win32

(

W2K)

通用对话框进行了封装

.

同样尽管简单

,

但是它的确使请求字体或者文件变

的非常的简单

.

合成了旧的

AtlControls.h,

新加了一些封装类

.

这些封装类封装了

W2K

控件

,

以及一些不属于

Win32

"

控件

",

Command Bar

, bitmap button, hyperlink

wait cursor

.

WTL

最终把消息分离带入了

ATL!

一些新的

MSG

映射宏将消息分离

,

调用您类里的消息处理函数

.

消息处理

函数的参数的值是从消息分离得到的

.

唯一令人头痛的是

,

您需要查看头文件以确定函数参数的意义

.

最后

,WTL

还有一些实用类

.

最重要的是

CString.

不错

,

它是从

MFC

克隆得到的

(copy on write),

具有

(

在我知

道的范围内

)MFC

版本的所有方法

.

还有查找文件的

API

的封装类

,

以及

CRect, CSize and CPoint.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值