WTL 简介

WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。

下载 WTL

首先下载最新版本的 WTL,下载地址(https://sourceforge.net/projects/wtl/files/WTL%2010/)。下载后将其解压,包含文件如下:
AppWizard:包含了应用向导相关的文件,通过该文件夹里面的 Setup.js 进行安装;
Include:WTL 库实现文件;
Samples:提供了多个示例程序。


修改 Setup.js

双击 AppWizard 目录下的 Setup.js,该文件会搜索电脑上安装的 VStudio,然后提示是否安装 WTL 应用向导,但是该文件目前暂不支持 VS2019,需要对其进行部分修改。从第 86 行开始修改,具体修改项如下所示:


修改注册表

经过以上修改,再次双击 Setup.js 发现并没有搜到 VS2019。在修改 Setup.js 过程中引用了一个注册表项,打开注册表(使用快捷键 Win+R 弹出运行窗口,输入 regedit)发现并不存在这一项。参照下图进行添加:


再次双击 Setup.js 进行安装,在安装过程中如果出现下图点击即可将 WTL 应用向导安装到 VS2019 中。


测试 WTL 应用向导

打开 VS2019 创建新项目,在搜索框中输入 WTL,如下图:


然后根据向导添加项目名称、修改项目路径等,点击创建后弹出 WTL 应用向导。根据该向导进行修改,添加需要的特性或去除不需要的特性,修改完后点击 Finish 即可成功创建工程。


编译工程

在编译前,需要将 WTL 库(前面提到的 Include 目录)路径添加到 C++ 包含目录中,使工程能够引用到相关头文件。添加方式有多种,可以使用下图所示的方法:


生成的工程中使用了 WTL 中预定义的部分 ID,所以编译时会出现如下错误。


将 WTL 库中 Include 目录下的 atlres.h 拷贝到 WTLApp.rc 所在的目录,然后再次编译即可成功。

- - - End - - -



欢迎扫码订阅我的微信公众号,以获得最佳阅读体验。

本文作者: Lzl678
本文链接: https://www.cnblogs.com/Lzl678/p/10771668.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

将WTL应用向导添加到VS2019的更多相关文章

  1. 详解WTL应用向导

    之前向 VS2019 中添加了 WTL 应用向导,今天来分析下该应用向导安装的相关文件,最终达到拷贝相关文件到 VS2019 的相应目录中即可直接使用 WTL 应用向导的目的. 在 VS2017 之前 ...

  2. phpcms v9表单向导添加验证码

    要做留言板的功能,故用添加表单,想要在提交留言前加一个验证码的功能.网上的教程比较混乱,于是亲自实验了下,步骤如下: 首先是调用表单的页面加入验证码.表单js调用模版默认的是 \phpcms\temp ...

  3. MFC 单选按钮组向导添加和动态创建

    单选按钮组的动态生成 单选按钮也属于CButton类,但由于单选按钮总是成组使用的,所以它在制作和使用上与普通按钮有一定区别. 假设有三个单选按钮组成一组,初始时,第一个单选按钮处于选中状态. 我们先 ...

  4. vs2010+ARX2012向导添加mfc支持类出现Error in default.htm PopulateDialogIDs():

    初步判断为ARX2012默认的编译器平台集是v90,如果你只安装了vs2010,没有安装vs2008sp1或者vs2008sp1的编译器,以及对应的Windows MFC SDK,就可能会出现这样的问 ...

  5. IE8与vs2005冲突 添加MFC类向导错误解决方法—— internet explorer脚本错误

    IE8 与 VS2005 冲突问题解决方法 问题表现为: MFC类向导添加类时,出现“当前页面的脚本发生错误”,进入MFC类向导后上方有一个小黄条“此网站的某个加载项运行失败.请检查"Int ...

  6. 深入浅出CChart 每日一课——第十六课 实习之旅,百年老店之新锐WTL

    上节课笨笨给大家介绍了CChart在微软MFC框架下的应用,本节课的内容仍然和百年老店微软相关,只不过主角换成WTL了. 不了解WTL的同学可以先找度娘温习一下.度娘在怀,今生何求.郎君啊,你是不是闷 ...

  7. [MFC]_在vs2019中使用MFC快速构建简单windows窗口程序

    微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...

  8. Office 365 – SharePoint 2013 Online 中添加域和域名

    1.在SharePoint Online管理中心,点击菜单上的添加域,如下图: 2.进入管理域的页面,点击添加域来添加我们自己的域名,如下图: 3.进入“在 Office 365中添加新域”的向导,跟 ...

  9. MFC中添加OpenGL

    WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单 ...

随机推荐

  1. LinkedBlockingQueue源码解析

    上一篇博客,我们介绍了ArrayBlockQueue,知道了它是基于数组实现的有界阻塞队列,既然有基于数组实现的,那么一定有基于链表实现的队列了,没错,当然有,这就是我们今天的主角:LinkedBlo ...

  2. .NET Core微服务之基于Ocelot+Butterfly实现分布式追踪

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.什么是Tracing? 微服务的特点决定了功能模块的部署是分布式的,以往在单应用环境下,所有的业务都在同一个服务器上,如果服务器出现错 ...

  3. 美团分布式服务通信框架及服务治理系统OCTO

     一.什么是OCTO 定义: OCTO是美团的分布式服务通信框架及服务治理系统,属于公司级基础设施,目前尚未开源. 目标: 为公司所有业务提供统一的服务通信框架,使业务具备良好的服务运营能力,轻松实现 ...

  4. debian The type initializer for 'System.Drawing.KnownColors' threw an exception

     Change the "System.Drawing" reference of "CoreCompat.System.Drawing"if you thro ...

  5. 【转载】java static 关键字的四种用法

    原文链接点这里,感谢博主分享 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构 ...

  6. C# 2进制、8进制、10进制、16进制...各种进制间的转换(三) 数值运算和位运算

    一.数值运算 各进制的数值计算很简单,把各进制数转换成 十进制数进行计算,然后再转换成原类型即可. 举例 :二进制之间的加法 /// <summary> /// 二进制之间的加法 /// ...

  7. SpringEl表达式(转)

    什么是SpringEL? Spring3中引入了Spring表达式语言—SpringEL,SpEL是一种强大,简洁的装配Bean的方式,他可以通过运行期间执行的表达式将值装配到我们的属性或构造函数当中 ...

  8. 对HTML5标签的认识(四)

    这篇随笔讲讲HTML5中的表单和表单的一些元素 一.表单的作用是什么? 概念:表单在网页中主要是负责对数据信息的采取,表单一共分成三个部分: 1.表单的标签:这里面包含了处理表单的数据所用CGI程序以 ...

  9. 大华门禁SDK二次开发(一)-技术沟通

    项目中需要能够查询门禁信号和控制门禁设备,因此需要基于大华门禁SDK进行二次开发,开发语言C#.门禁开发中遇到了一些问题,经过与大华技术的邮件沟通也一一解决.做这个开发的时候,发现网上的资料比较少,想 ...

  10. 【集合框架】JDK1.8源码分析之ArrayList详解(一)

    [集合框架]JDK1.8源码分析之ArrayList详解(一) 一. 从ArrayList字表面推测 ArrayList类的命名是由Array和List单词组合而成,Array的中文意思是数组,Lis ...