WTL:下载、安装、初见

简介

         WTL: Windows Template Library

         基于ATL对Win32 API的封装

         C++库,用于开发Windows应用程序和UI组件

         WTL功能不如MFC完善,但比MFC更小巧更有效率,不依赖MFC的DLL

         MFC支持doc/view架构,而WTL并不支持

         WTL不是微软的正式产品,没有微软的官方支持

         WTL也实现了CString、CRect、CSize、CPoint等常用的类

     WTL的CStaticT、CButtonT、CListBoxT、CComboBoxT等用起来和MFC版本也没太大不同。

        

下载安装

         WTL在VC各版本下的安装

         http://www.cppblog.com/goos/archive/2012/08/16/187424.aspx

         WTL7.1下载http://pan.baidu.com/s/1o8mGGEe

 

         安装WTL7.1

     运行WTL71.exe,解压   

         

     运行/WTL71/AppWiz60/setup.js

          

     复制WTL71/include目录下的头文件到VC++6.0安装目录的 /VC98/Include下。

     运行VC++6.0,根据向导可以轻松的创建ATL/WTL AppWizard工程即可。

 

新建WTL工程

         打开VC++6.0,【File】->【New】

        

          

        

        

         在产生的文件中可以看到WTL确实不支持Doc/View。

     WTL对单界面线程的封装:WTL使用一个_Module全局变量来保存全局数据,并通过它来引用应用程序级的代码。在WTL中,该变量是CAppModule的实例,对比MFC的theApp。

        

         入口函数名为_tWinMain()。当使用UNICODE时,编译器会将它替换为wWinMain(),否则,为WinMain()。入口函数其实就是主线程(_Module)的起始点,这和SDK,MFC一个道理。一个_Module还维持一个消息循环Map。

    

         该函数创建了一个CMessageLoop实例,该实例包含了这个线程的消息循环。这些消息循环都放在模块的全局消息循环中,通过线程的ID来索引。这样,该线程的其它代码就能访问得到。每一个应用程序维护一个消息循环队列Map,应用程序中的每个线程都通过"_Module.AddMessageLoop(&theLoop)",把该线程的消息循环加入到_Module的消息循环Map中。消息循环对象包含了消息过滤和空闲处理。每个线程都可以加入空闲处理代码和消息过滤。  

         再看stdafx.h

      

         编译运行:

         

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值