zoukankan      html  css  js  c++  java
  • 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

          

             编译运行:

             

  • 相关阅读:
    《Java入门第三季》第一章 异常与异常处理
    c++第三十一天
    《Java入门第二季》第五章 阶段练习
    《Java入门第二季》第四章 多态
    《Java入门第二季》第三章 继承
    WinForm 使用皮肤,且单击按更换皮肤。
    ExecuteReader: CommandText 属性尚未初始化
    用户登录模块--代码
    abstract 关键字-- 抽象
    Winform TabControl控件使用
  • 原文地址:https://www.cnblogs.com/MakeView660/p/6917435.html
Copyright © 2011-2022 走看看