WTL(二)

在开始 WTL 之前,首先配置你的开发环境,我假设你已经安装好 VS2005 或者其它版本的开发环境,最新的 WTL 可以从这里得到:

http://sourceforge.net/project/showfiles.php?group_id=109071&package_id=321560&release_id=680959

下载完毕,安装之后,可以开始配置你的开发环境:打开你的安装目录,进去到 AppWiz 目录,根据你的开发环境,运行相应的 *js 脚本文件(例如我的是 VS2005 ,我就运行 setup80.js ,如果你的是 Express 版本,则应该运行带有 X 的脚本文件),之后,将 include 文件夹添加到你的开发环境的头文件搜索目录,很多开发库还需要将 lib 文件夹添加到库目录,但 WTL 不需要,它的所有文件都是以源码的形式提供的,这一点主要是因为它的绝大部分类库都是用 C++ 类模板编写的,这一特性使得它不能对外提供链接文件(这一点也可能是微软不愿意开放 WTL 的原因之一)。如果你是要在 WinCE WinMobile 环境下使用 WTL ,另外两个文件夹 AppWizCE AppWizMobile 下的文件和 AppWiz 中文件的作用一样,你只需按上面的方法进行配置。

另外,一个很好的插件推荐给你:VisualFC

http://code.google.com/p/visualfc/

它可以为你的开发过程提供Wizard 的功能,以加快你的开发效率。

到这里,我有一个建议,你最好在 ./AppWiz/Files/Templates/1033 文件夹下的

Stdafx.h 文件的“ #endif // _WTL_SUPPORT_SDK_ATL3 一行下修改原有的包含头文件,加上若干常用的头文件,修改后的包含文件看起来是这样的:

#include <atlapp.h>

#include <atlframe.h>

#include <atlctrls.h>

#include <atlcrack.h>

#include <atlctrlx.h>

#include <atlgdi.h>

#include <atlmisc.h>

#include <atlsplit.h>

#include <atlddx.h>

#include <atldlgs.h>

这可以免去你在开发过程中频繁的去添加那些需要的头文件,但是,这个办法有点土,常规的做法是修改 JS 脚本,根据不同的项目类型添加不同的头文件,但是我太懒了,况且这种做法也没什么不妥,安吧。

开发环境配置完毕,下面来开始我们的 WTL 之旅,我们来写一个“ Hello WTL ”的单文档程序:

 

1.  新建一个项目:在项目类型中选择 WTL ,模板中选择 ATL/WTL Aplication Wizard ,名称为: HelloWTL

2 .确定后,继续下一步,在 Application Type 页面中,选择 SDI Application ,勾选 A dd Common Controls Manifest U nicode Character Set 。A dd Common Controls Manifest 选项可以使你的应用程序具有兼容的控件外观,例如可以在 Vista 操作系统中呈现出 Vista 的控件外观,而不是旧式的 Win95 外观。 U nicode Character Set 使得此项目使用Unicode 编码。

3. 单击Finish ,工程建立完毕。

   查看工程生成的程序代码,它有三个类,CAboutDlg,CHelloWTLView,CMainFrame ,熟悉MFC 的一看,咦,怎么少了个CHelloWTMDoc ,是的,WTL 不支持文档/ 视图结构。

   现在,我要在程序的客户区打印出“Hello WTL” 字样,在那里下手呢?

   没错,你猜对了,当然是在CHelloWTLView 中,它提供一个 OnPaint 的函数,和 MFC 是如此的神似。我们在 OnPaint 加上一些代码,完成后的 OnPaint 如下:

   LRESULT OnPaint (UINT /*uMsg*/ , WPARAM /*wParam*/ , LPARAM /*lParam*/ , BOOL & /*bHandled*/ )

   {

      CPaintDC dc (m_hWnd );

 

      //TODO: Add your drawing code here

      CRect rc ;

      GetClientRect (&rc );

      dc .TextOut (rc .Width ()/2,rc .Height ()/2,_T ("Hello WTL" ));

 

      return 0;

   }

    好了,编译、运行,我们的第一个 Hello WTL 完成了。

    下一章,我将通过剖析 WTL 的源代码,解析它的结构。

 

 

 

 


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值