将WTL应用向导添加到VS2019
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的更多相关文章
- 详解WTL应用向导
之前向 VS2019 中添加了 WTL 应用向导,今天来分析下该应用向导安装的相关文件,最终达到拷贝相关文件到 VS2019 的相应目录中即可直接使用 WTL 应用向导的目的. 在 VS2017 之前 ...
- phpcms v9表单向导添加验证码
要做留言板的功能,故用添加表单,想要在提交留言前加一个验证码的功能.网上的教程比较混乱,于是亲自实验了下,步骤如下: 首先是调用表单的页面加入验证码.表单js调用模版默认的是 \phpcms\temp ...
- MFC 单选按钮组向导添加和动态创建
单选按钮组的动态生成 单选按钮也属于CButton类,但由于单选按钮总是成组使用的,所以它在制作和使用上与普通按钮有一定区别. 假设有三个单选按钮组成一组,初始时,第一个单选按钮处于选中状态. 我们先 ...
- vs2010+ARX2012向导添加mfc支持类出现Error in default.htm PopulateDialogIDs():
初步判断为ARX2012默认的编译器平台集是v90,如果你只安装了vs2010,没有安装vs2008sp1或者vs2008sp1的编译器,以及对应的Windows MFC SDK,就可能会出现这样的问 ...
- IE8与vs2005冲突 添加MFC类向导错误解决方法—— internet explorer脚本错误
IE8 与 VS2005 冲突问题解决方法 问题表现为: MFC类向导添加类时,出现“当前页面的脚本发生错误”,进入MFC类向导后上方有一个小黄条“此网站的某个加载项运行失败.请检查"Int ...
- 深入浅出CChart 每日一课——第十六课 实习之旅,百年老店之新锐WTL
上节课笨笨给大家介绍了CChart在微软MFC框架下的应用,本节课的内容仍然和百年老店微软相关,只不过主角换成WTL了. 不了解WTL的同学可以先找度娘温习一下.度娘在怀,今生何求.郎君啊,你是不是闷 ...
- [MFC]_在vs2019中使用MFC快速构建简单windows窗口程序
微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...
- Office 365 – SharePoint 2013 Online 中添加域和域名
1.在SharePoint Online管理中心,点击菜单上的添加域,如下图: 2.进入管理域的页面,点击添加域来添加我们自己的域名,如下图: 3.进入“在 Office 365中添加新域”的向导,跟 ...
- MFC中添加OpenGL
WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单 ...
随机推荐
- ASP.NET Core DevOps
一.本系列教程说明 源代码管理工具:Gogs 持续集成工具:Jenkins 容器:Docker 本教程选用轻量级的 Git 管理工具 Gogs,搭建简单. 三.教程目录 1.配置免费HTTPS证书 ( ...
- Spring Boot 中的静态资源到底要放在哪里?
当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥Spring Boot 中的静态资源加载问题:"松哥,我的HTML页面好像没有样式?& ...
- Java集合详解4:HashMap和HashTable
今天我们来探索一下HashMap和HashTable机制与比较器的源码. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦star一下哈 ...
- 分析 js构造函数:对象方法 、类方法 、原型方法
构造函数方法有对象方法.类方法.原型方法,这些方法在什么时候可以调用,什么时候不能调用,为什么? function Func(name){ this.name=name; this.ff=functi ...
- C#线程安全使用(五)
CancellationToken的多种应用 这是线程安全的最后一篇了,主要介绍CancellationToken的多种应用. 1,ThreadPool直接启动线程,传递CancellationTo ...
- OpenXMl倒出word、PDF
OpenXMl倒出word.PDF @using MarkdownSharp @{ ViewBag.Title = "预览"; Layout = "~/V ...
- mysql-16进制、十进制互转
先截取左边4位,再转换: conv(left(t1.DEVICEID, 4), 16, 10) //转十进制 conv(left(t1.DEVICEID, 4), 10, 16) ...
- LeetCode_406. Queue Reconstruction by Height解题思路
题目如下: Suppose you have a random list of people standing in a queue. Each person is described by a pa ...
- easyui表格排序
效果:点击DataGrid表格某个头部,进行升序或降序排序当前页: 问题:对应列设置 sortable:true 没有效果,刚开始以为是对应的列对应的数据库的字段类型有问题, 改动代码,使返回到前台 ...
- Django 提交 form 表单
创建 Django 的过程可以参考上一篇文章 https://www.cnblogs.com/klvchen/p/10601536.html 在 templates 文件夹下创建一个 index.ht ...