从零开始的WTL入门教程(1) WTL的简介,环境搭建-CSDN博客
从零开始的WTL入门教程(1) WTL的简介,环境搭建
最新推荐文章于 2022-04-04 02:11:19 发布
置顶
importIng
最新推荐文章于 2022-04-04 02:11:19 发布
阅读量8.1k
收藏
16
点赞数
8
分类专栏:
WTL/C++
文章标签:
WTL
C++
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/importIng/article/details/103513996
版权
WTL/C++
专栏收录该内容
7 篇文章
14 订阅
订阅专栏
项目组最近在全力开发Win平台客户端项目,虽然我是移动端开发人员,但作为一名开发人员不应该为开发平台限制工作能力,遂用了点时间在一定程度上参与了Win端客户端的开发工作。
为什么是WTL
项目是toB的控制端软件,WTL程序包小,仅有一个EXE文件,对不同版本操作系统兼容性好,B端客户还用XP的不在少数,发布与使用的便捷性强。
为什么写这篇文章
WTL是基于模板对窗口封装,接近系统底层,灵活度高,只是由于资料匮乏开发上手比较困难,关于WTL的渊源我就不介绍了,重要的是,如果你在网络上搜索WTL的开资料,只能找到各种各样的广告以及WTL for MFC Programmers这篇文章的翻译版本,如果你没有MFC基础,看起来将有一定的困难,而像我这样没有C++基础,则更加头疼。作为IOS我C语言基础还行,Objective-C也使用了许多与C++类似的语法因此我大概用了一周时间学习C++和一周时间熟悉WTL最基本的框架使用以及几天时间了解公司项目框架构成后,上手并完成了一些模块的开发工作。这篇文章当然不足以让你成为WTL项目负责人,但是该应能帮助你顺利的上手。
我的博客会教给你什么
利用WTL进行Win窗口界面程序开发主要是UI部分内容,主要有以下几个部分
环境配置创建第一个窗口自定义绘图基础控件:CButton CEdit CScrollerBar动态及使用资源文件页面布局制作自定义控件WTL扩展增强-DDXSTL基础(施工中)控件综合(施工中)
你需要提前准备什么?
需要先学好C++吗?需要先看一看MFC吗?都不需要,但是你至少需要: 1.有C语言基础。 2.理解面向对象的程序开发,不论是C++还是JAVA,OC或者SWIFT等其他面向对象的开发语言,理解OO即可。 3.如果你完全没有C++基础,也可以照着我的代码一步步做,关于C++面向对象的特性例如多继承,模板编程等,我也会在到的地方做出简单直观的解释,C++开发的其他资料比较详实如果有理解不了的内容,百度一下或者翻阅C++ PP。 4.如果你有一些客户端开发基础IOS/安卓,会有一些帮助。 5.如果你是MFC开发人员可以直接看WTL for MFC Programmers。
更重要的资料
作为一篇以引入为目的的教程,我不会过多的介绍Windows系统的功能以及所有各种复杂的控件 如果你需要信息更多 微软的官方文档是最佳参考资料 https://docs.microsoft.com/en-us/cpp/mfc/reference/mfc-classes?view=vs-2019 WTL基于ATL,ATL中的类大部分与MFC通用,因此官方的MFC 类文档是参考和学习价值极高的 某度甚至检索到一大堆广告 都不会把你引向官方文档 这里是WTL的下载地址 https://sourceforge.net/projects/wtl/ WTL项目中也带有一些例程,可以参考。
正式开始教程
环境搭建
下载安装VS。我使用的是Visual Studio2015 vs的版本对WTL影响不大,默认配置即可。 下载WTL,并取出include文件夹,这就是项目需要的WTL的全部文件 在VS中创建一个C++空项目 在项目中添加对WTL的引用 创建Main.cpp文件和stdafx.h文件。并分别写入以下内容
//stdfax.h:
#define STRICT
#define WIN32_LEAN_AND_MEAN
//#define _WTL_USE_CSTRING
#include
#include
#include
extern CAppModule _Module;
#define _WTL_NO_CSTRING
#include
#include
#include
#include
#include
#include
#include
// main.cpp:
#include "stdafx.h"
CAppModule _Module;
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
_Module.Init(NULL, hInstance);
MSG msg;
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
_Module.Term();
return msg.wParam;
}
这些基本是固定写法。stdfax.h作为公共头文件,引入需要的WTL文件,由于include是将对应文件的代码复制到当前文件中因此要注意如果你不知道怎么回事,就不要改变引用顺序 ,包括其中插入的宏命令位置。 Main.CPP是程序入口。CAppModule _Module;是保存主线程ID和消息循环的实例。
while (GetMessage(&msg, NULL, 0, 0) > 0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
这个循环是主消息循环,控制着应用的生命周期。Win程序的运行依赖于消息机制。边用便了解即可。此处只要知道走入这一行 程序便开始在消息循环中执行,存活。因此要在它之前插入操作入口。 程序的基本运行环境到这里就搭建完成了。WTL其实是一套对WinAPI界面描述的封装,可以非常轻松的扩展或引入到其他项目中。
优惠劵
importIng
关注
关注
8
点赞
踩
16
收藏
觉得还不错?
一键收藏
知道了
0
评论
从零开始的WTL入门教程(1) WTL的简介,环境搭建
图文手把手教学系列
复制链接
扫一扫
专栏目录
WTL详细教程(从头到尾的解析)
03-24
详细描述了WTL开发的流程,希望对大家有帮组。
VS2019及以上版本安装WTL向导
LWD的博客
05-10
593
本篇文章解决了高版本VS无法安装WTL向导的问题,并解决了第一次创建WTL项目出现的问题
参与评论
您还未登录,请先
登录
后发表或查看评论
WTL入门教程
09-04
学习WTL的入门资料,貌似有那么点用处
尤其适合VC++ MFC的,想学习WTL相关知识的
使用WTL进行Windows桌面应用开发-第一部
09-21
基于Windows平台的ATL/WTL桌面应用程序开发.使用C/C++作为开发语言, 开发Windows本地桌面程序.WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行快速开发,不需要其他语言.由浅入深介绍WTL桌面开发涉及到的原理和技术, 从简单界面到自定义界面,自定义按钮表格都有介绍。在绘制窗口元素如文本,图形介绍了GDI和GDI+的常用的开发技巧。介绍了项目开发中遇到的一些细节问题.WTL配置少, 只有头文件,不需要编译为库, 性能高,不依赖第三方库,文件小, 运行快,调试方便, 升级方便。
wtl图形界面
个人进步之路
06-18
561
第一部分介绍WTL框架窗口结构,编写基于WTL的SDI,MDI和多线程SDI的程序,及WTL的辅助类及封装DDX,看向导及例程.
第二部分讲WTL命令栏,封装通用控件,及消息路由,及通用对话框,属性页/属性表,打印支持,以及滚动窗口
WTL的基础–ATL
ATL本来用来支持COM组件和OLE属性页框架.封装了所有基本窗口函数,包括创建和管理窗口/对话框,窗口函数,消息路由,窗口子类化,超类化和消息链等.
对话框/窗口依赖其根,根/容器依赖C窗口.外有个C消息映射.
wtl使创建sdi更容易:CFrameWi
WTL界面介绍
houxian1103的博客
04-04
2254
前 言
WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。
如果想在vs 2019 上安装wtl ,可以使用看如下文章:
https://www.cnblogs.com/Lzl678/p/10771668.html
WTL概述
WTL 是Windows Template Library 的缩写。最初,W
使用WTL进行Windows桌面应用开发-第二部
05-14
1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式.2. 涉及到一些项目开发难题的窗口自定义的解决方案。3. 涉及到Gdiplus绘图的项目开发难题的一些解决方案。4. 推荐使用的第三方跨平台库, 虽然WTL是基于Windows的,但是不妨碍我们使用第三方的库进行开发,减少跨平台开发的学习成本。5. WTL是对Win32窗口的薄封装,库是原微软员工开发,是MFC的替代选择。掌握了WTL表示你已经基本掌握了Win32的窗口编程.6. 使用WTL库完全使用C++开发,不需要其他编程语言,减少学习成本和复杂度,整个WTL是开源可控的。7. WTL库只能使用VS2005以上版本开发, 因为它依赖ATL库. 不同的VS版本对应的atl版本不一致,建议使用VS2010以上版本开发.
WTL入门(二) WTL简介
wbj217的专栏
12-20
3279
对这部分的介绍
好了,现在正式开始介绍WTL!在这一部分我讲的内容包括生成一个基本的主窗口和WTL提供的一些友好的改进,比如UI界面的更新(如菜单上的选择标记)和更好的消息映射机制。为了更好地掌握本章的内容,你应该安装WTL并将WTL库的头文件目录添加到VC的搜索目录中,还要将WTL的应用程序生成向导复制到正确的位置。WTL的发布版本中有文档具体介绍如何做这些设置,如果遇到困难可以查看这些文档。
WTL基础入门
微小冷的学习笔记
07-30
2646
WTL即Windows Template Library,提供了一套用于Windows的组件,由于体积很小,而且生成的exe也很小,所以做一些测试软件就十分经济。
WTL简介
xkdlzy的专栏
12-26
2551
MFC ATL WTL VC++
visual c++ WTL教程.zip
01-21
visual c++ WTL教程.zip
WTL教程(学习)
06-02
WTL教程
WTL 入门学习资料
11-11
感谢网络前辈的无私分享,再整理一下 WTL 的学习文档。
所有源码都能在 VC6,WTL7.0 下编译通过。
具体内容如下:
1、WTL个性设置demo 文档和源码。
2、WTL for MFC Programmers 系列翻译文章,以及源码。
3、WTL 体系.doc
4、WTL源码剖析 -ATLAPP.H.doc
5、深入剖析WTL—WTL框架窗口分析.doc
6、深入剖析WTL-如何封装Windows界面程序.doc
7、白乔原创:VC之美化界面篇
8、ComboBox的WTL移植.doc
9、窗口的子类化.docx
10、深入剖析MFC中对于Windows消息处理、运行机制.doc
WTL.zip_WTL教程
09-14
该文件是WTL应用教程,详细介绍了WTL开发工具的用法。
从零开始的WTL入门教程(2)创建第一个窗口
importIng的博客
03-12
1621
在开始创建窗口前 有一些必须了解的C/C++特性,即使看不太懂也没有关系先记下
一.C++中的变量。
如果你没有C++基础 那么你需要重新理清C++中的变量和对象关系。
对于变量 它在创建的时候在栈中分配内存。C++中的对象可与基本类型一样直接创建,创建时即分配内存,离开作用域时出栈释放。也可以在堆中创建即创建指针指向new的对象
void founction(){
yourClass obj1;...
从零开始的WTL入门教程(4) 基础控件CButton,CEdit,CScrollBar,CComboBox的简介和基本使用
importIng的博客
03-12
973
基础控件
在进一步使用WTL封装控件之前,需要先了解和使用一些基本控件,它们是通用MFC的。
通常给自定义控件添加子控件的过程放置在生命周期方法中的创建消息中。对于CWinodwImpl就是MSG_WM_CREATE
CButton
为FirstWindow创建一个CButton
注意对于一个子控件,需要为其指定父控件的句柄以确定坐标系位置。同时需要设置样式为WS_CHILD或者WS_CHILD...
从零开始的WTL入门教程(3)WTL窗口绘图,双重缓冲
importIng的博客
03-12
837
由于WinApi诞生之时还没有Material Design这样美观的视觉表达规范,其系统控件样式相当的匮乏且充满工程师设计风格,因此大多数时候,控件都需要实现自定义绘图,即使只是简单的设置背景颜色。
完成了上面最简单的视窗控件后,我们来给它添加一个背景色。
绘图方法在系统更新控件时被调用。因此它也依赖于消息循环。我们可以在消息的定义文件中找到它。
与OnClose一样的添加方式
该方法的参数...
从零开始的WTL入门教程(7) 创建使用自定义资源控件,使用DDX,自定义DDX
importIng的博客
03-12
796
先介绍一个WTL增强数据交换工具 DDX
DDX是一套类似于MSG_MAP的宏命令,其实质就是简化和统一窗口与数据之间相互传值的调用代码。
使用起来比较简单,举个例子。
首先在需要使用DDX的类中继承CWinDataExchange父类
然后使用DDX命令 将要绑定的控件ID和对应类型的变量进行绑定
当然,要创建ID_TF_FIRST这个资源ID并赋值给之前创建的CEdit;
之后在需要交换数...
mfc 程序员的 wtl 教程 pdf下载
最新发布
07-30
MTF 是一种基于微软技术的开发框架,用于创建Windows应用程序。WTL(Windows Template Library)是MFC的轻量级替代品,它提供了一组用于构建Windows应用程序界面的模板类和宏。对于想要学习和使用WTL的MFC程序员来说,一个WTL教程是必不可少的。
关于WTL教程的PDF下载,有一些可用的资源。首先,你可以在网上搜索WTL教程PDF,可能会找到一些免费或收费的下载链接。你可以看看一些技术论坛、博客或在线教育平台上的WTL教程,它们往往提供了PDF版本的下载。
另外,你还可以考虑购买一些出版物,如专门讲解WTL的书籍或教程DVD。这些资源往往包含了更全面的内容,可以帮助你系统地学习和掌握WTL的知识。一些知名的出版社,如O'Reilly和Packt,可能会有WTL教程的出版物,并提供PDF版本的购买或下载。
无论你选择哪种方式,确保选择适合自己水平和需求的教程,以便更好地学习和应用WTL技术。希望你能找到适合的资源,顺利学习WTL并运用到你的MFC开发中。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
importIng
CSDN认证博客专家
CSDN认证企业博客
码龄5年
暂无认证
18
原创
51万+
周排名
184万+
总排名
3万+
访问
等级
484
积分
25
粉丝
15
获赞
9
评论
44
收藏
私信
关注
热门文章
从零开始的WTL入门教程(1) WTL的简介,环境搭建
8098
FLUTTER· flutter下使用protobuf和socket与服务器通信实例
7853
FLUTTER自己动手用绘图实现一个K线。(CustomPainter,GestureDetector,Listener)
2925
从零开始的WTL入门教程(2)创建第一个窗口
1614
IOS集成ctp,恒生,金仕达穿透式监管的一点坑
1281
分类专栏
WTL/C++
7篇
flutter
10篇
IOS
最新评论
从零开始的WTL入门教程(7) 创建使用自定义资源控件,使用DDX,自定义DDX
Pete_jones:
第8章 STL基础 什么时候出啊 ?
FLUTTER· flutter下使用protobuf和socket与服务器通信实例
佛前一粒沙:
自定义的协议怎么搞呢?
FLUTTER· flutter下使用protobuf和socket与服务器通信实例
importIng:
心跳就是干这个的。。。
IOS集成ctp,恒生,金仕达穿透式监管的一点坑
gyh123654789:
穿透式监控API都是在哪下的啊?
FLUTTER· flutter下使用protobuf和socket与服务器通信实例
!力争上游:
突然断开连接怎么监听
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
从零开始的WTL入门教程(7) 创建使用自定义资源控件,使用DDX,自定义DDX
从零开始的WTL入门教程(6) 可视化布局 ,使用资源文件
从零开始的WTL入门教程(5) WTL的窗口控件布局
2020年6篇
2019年12篇
目录
目录
分类专栏
WTL/C++
7篇
flutter
10篇
IOS
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特点? - 知乎首页知乎知学堂发现等你来答切换模式登录/注册图形用户界面Qt(C++ 开发框架)C++MFC(C++ 库)Windows Presentation Foundation (WPF)MFC、WTL、WPF、wxWidgets、Qt、GTK 各有什么特点?或者你还知道什么别的好用的图形界面库也可以来谈谈特点。 (希望大家尽量推荐业内比较认可的图形界面库哦)显示全部 关注者3,323被浏览944,390关注问题写回答邀请回答好问题 5016 条评论分享47 个回答默认排序韦易笑游戏开发等 4 个话题下的优秀答主 关注感觉我说了太多 Qt 的事情了,今天只说一下 MFC ,到底过时在哪里,都在说 "MFC 就是 xxx" 类似的话,我来补充点细节,增加点感性认识,到底 MFC 过时在哪里?想要用好 MFC 可以怎么办?虽然 MFC 也有 DIALOG 的设计器,似乎可以拖一下控件,做个 hello world, 计算器之类的好像也很简单,但是稍微复杂那么一点就麻烦了,比如布局,MFC 里的控件只能设置绝对坐标和大小,那么如果你的窗口扩大或者缩小了,想自动改变内部特定控件的大小和位置怎么办?比如 C# 里随便设置一下各个控件的 docking 和 anchor 就能:C# 里给控件设置 docking/anchor:窗口变大变小后就能自动调整控件的位置和大小就能让某些控件随窗口变大而移动,某些控件随窗口变大而变大,而某些控件不变,这在任何 GUI 库里都是最基础的功能,都可以在设计器里点两下就做到的事情,MFC 却需要重载 WM_SIZE, WM_SIZING 消息来自己写代码每次手工计算所有控件的新坐标和大小,想写的通用点,还得上千行的代码,枚举所有子控件,根据额外信息重新计算位置大小,虽然 2015 的 MFC 里加了一个半成品的布局信息,但是基本没用,你在 MFC 的设计器里拖控件,都是写死坐标和大小的。你也别说 c# 比 MFC 新,c# 的 docking 和 anchor 都是抄的 MFC 同期的 delphi 的布局方式,delphi 里叫做 align 和 anchors,c# 改都没改就换了个名字拿过去了。可以说布局是 GUI 库最基本的一个功能了,连 tkinter 都支持,MFC 却没有,而且持续十多年不思进取不增加。再举个界面设计的常见操作,设置窗口的最小尺寸,其他编辑器里就是填写个窗口属性了事,MFC 里怎么做?要到 MainFrame 那里用 ClassWizard 找到 WM_GETMINMAXINFO 消息,为其生成一个函数,并编写:void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) {
CRect rc(0, 0, 400, 300);
CalcWindowRect(rc);
lpMMI->ptMinTrackSize.x = rc.Width();
lpMMI->ptMinTrackSize.y = rc.Height();
}
是不是一脸懵逼?这 MINMAXINFO 是干嘛的?OnGetMinMaxInfo 到底什么时候被调用?CalcWindowRect 又是啥意思?看到这里你还想用么?最后再举一个界面设计里最常见的例子,spliter bar,就是可以拖动改变左右两边控件/容器大小的分隔栏,比如资源管理器左边的文件树和右边的内容中间那根可以左右拖动控制改变左右两边控件尺寸比例的分隔栏就是 spliter bar,其他 GUI 库里就是设计器里拖出来点点点就创建好的东西,MFC 却不行,设计器里根本没有 spliter bar,需要在 OnCreateClient 函数里自己手工创建 CSplitterWnd,并且为左右两边分别创建两个 view,还要重载 WM_SIZE 消息,每次手工算位置,通知左右两个 view 更新大小,还有各种坑,其他 GUI 库一分钟做完的事情,你 MFC 里可能要搞一小时(算上编码和调试填坑时间)。上面三个界面设计中最基础的概念:布局,控件细节配置(如最小尺寸),splitter bar,在 MFC 里都是空缺的,可以看出你想用它开发一个稍微复杂一点点的界面都是非常麻烦和琐碎的事情。同期的 delphi/c++ builder 简直是甩 MFC 十条街,再一个是 MFC 的封装太浅了,基本就是 Win32 API 对 C++ 做了一层映射,加了一些宏而已,其他 GUI 库,包括 wxwidgets 你都不需要和 Win32 API 打交道,但你要写 MFC 不了解 Win32 API 是不可能的,比如 ClassWizard 里:你读不懂那一片 WM_ 的 Win32 消息是干嘛的,不了解 Win32 消息分发的机制,你基本别想写 MFC,而就算你用 wxWidgets 根本不需要去处理这么琐碎的事情,再一个是子控件管理,同期的界面库对窗口上的子控件都是直接封装成类的,并且按对象来组织。MFC 里却和 Win32 程序一样,靠 ID 来管理,比如有一个静态文字 static text/label 之类的东西,你想改一下上面的字,MFC 里你先要找到这个 static text 的 id,然后用 ID 来获取类指针,然后再操作,比如:// TODO: Add your control notification handler code here
CStatic *st = (CStatic*)this->GetDlgItem(IDC_STATIC1);
st->SetWindowText(_T("hahahah"));
这基本就是 Win32 API 里的 GetDlgItem 和 SetWindowText:根据 ID 获取控件 HWND,只是把第一个参数给省略了。这个封装真的是 low 到家,围绕 ID 来组织控件这种 Win32 最原始的东西都要暴露出来,同期没有任何一个界面库需要直接操作控件 ID 的,不管同期的 Delphi 还是 wxWidgets 都是直接把每个子控件当作一个对象的,直接按对象来组织围绕对象开发即可。封装太浅,很多东西又空缺,导致程序写大了一地碎鸡毛,还有人在多个窗口间靠 SendMessage 传指针来通信的,后期出点问题修都修不完。那么 MFC 程序想写复杂了该怎么办呢?首先要靠编码规范来规避很多坑,比如多窗口间通信,就要约定只能纵向通信,拒绝横向通信,因为父亲控件控制子控件的生命周期,向下调用没问题,而子控件在生命周期内也有指向父控件的 parent 指针,那么上下级之间纵向通信是没问题的,父亲知道儿子什么时候被销毁,儿子也知道父亲永远在那里。但是要避免横向相互持有指针,那么兄弟控件通信可以绕道父节点或者 CMainFrame 那里去走一圈,避免直接兄弟之间直接指针调用方法,可以减少很多问题。其次是自己要封装很厚的库,用来弥补 MFC 的不足,那么勉强一用,唯一的问题就是界面太丑了,不过有很多解决方案,比如用 skin++ 这类外挂库,两行代码,直接 hook 控件 redraw 的消息自己绘制:几行代码就可以换肤,这样对中型项目基本是足够了,想要做的更好点,基本就要自己绘制上 dui 了,中小团队很难玩得转,很多公司会选择购买一些成品的 dui 库结合 MFC 使用,比如迅雷的 bolt ,我当年一个项目买过 uipower 的 DirectUI 库,用了一段时间后还是被逼着走上了自己写 dui 的老路。大部分成熟的 MFC 项目,到最后都会撸自己的 dui 代码,仅使用 MFC 一些基础功能,比如消息,CFrameWnd,CString 之类的,里面就是自己绘制,程序开头载入一个界面布局的 xml 文件,根据 xml 文件描述的内容载入对应资源自动生成 dui 的子控件,然后重新解释鼠标消息,对于像 TextEdit ,RichText 之类复杂的控件,还是会用 MFC 原有的封装一层盖上去,浮在你的 dui 界面上面。最终费劲千辛万苦,你终于可以用 MFC 做一个类似 360 这样稍微丰富多彩点的消费级界面了:或者做出各种复杂度高的行业软件界面了,那么恭喜你,你在 MFC 里花了三年的时间,做出来的东西,终于摸到了只有半年经验的 Qt 程序员的脚后跟了。--编辑于 2022-02-12 08:01赞同 498142 条评论分享收藏喜欢收起wzsayiie 关注我试着谈下UI框架的发展路径,不见得是各个UI库在编程上的特点,就作抛砖引玉之言。故事的开始源于上世纪70年代初施乐Palo Alto实验室对图形系统的早期研究。尽管由于种种原因施乐在图形系统领域并没有取得商业上的成功,但Palo Alto的成果为微软、苹果这样的操作系统厂商提供了最初的人才与经验储备。也就是这时,出现UI设计的3大原则:面向对象;MVC;消息队列驱动;直到现在各个UI系统,包括题主所提到的MFC、WPF、Qt,也包括其它,诸如Android SDK、Cocoa的构建仍旧建立在这3大原则的基础上。要提到MFC,就不得不先提到Windows SDK,后者是随Windows 1.0所提供的操作系统API。Windows 1.0在1985年发售,尽管在此之前已有施乐的Star、苹果的Lisa和Mac OS这样的图形界面操作系统,但Windows 1.0毕竟是第一个大规模发行的图形操作系统,需要直面各样的开发者与普通用户的问题,也算是“第一个吃螃蟹的”。既然是第一个,当然是不成熟的。这种不成熟即有当时技术条件的限制,也有经验上的匮乏,我用一个例子简要说明一下。例如,我需要显示一个窗口,Windows SDK看上去是这样的:int WinMain() {
//1 register a window class
WNDCLASS wndclass;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = NULL;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = "MainWndClass";
RegisterClass(&wndclass);
//2 create a winow
HWND hwnd = CreateWindow(
"MainWndClass",
"Window Title",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
//3 message loop
MSG msg;
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
对,你没有看错,那个叫CreateWindow的函数的有11个参数!按照面向对象的观念与简洁性的做法,它不应该是这样的吗(一个Gtk的例子):GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(window, "window title");
gtk_window_set_position(window, GTK_WIN_POS_CENTER_ALWAYS);
gtk_window_set_default_size(window, 400, 300);
gtk_window_set_resizable(window, TRUE);
原因是当时的机器内存太小,一个函数的链接符号要占有一个字长的地址空间,所以能省就省。这也是当时诸多系统API设计的惯例,如之后苹果的Carbon库,参数多到惨不忍睹的函数也是比比皆是。这就是所谓的“技术限制”的一例。此外,上例中第一步“注册窗口类”和第三步“消息循环”有必要强制要求用户来指明各个参数项吗。从后来的实践看,答案是没有必要。但作为“第一个吃螃蟹的”,怎么会知道。这就是所谓的“经验上的匮乏”一例。作为后起之秀的Qt,同样是显示一个窗口,用户代码就简洁得多:int main(int argc, char *argv[]){
//1 create application instance
QApplication app(argc, argv);
//2 create a window
QWidget *window = new QWidget;
window->setWindowTitle("title");
window->show();
//3 message loop
return app.exec();
}
正由于Windows SDK的不如意,于是就出现的MFC。这里我想插一个题外话:为什么用户终端系统(包括Windows、mac OS这样的PC端,Android、iOS这样的移动平台,也包括Play Station、xbox这样的家用主机),所提供的的API和程序库接口,编程语言都是类C(C、C++、ObjC、Java等)的。这主要是技术积累的缘故。早期探索用户终端系统的开拓者,使用的C语言,先驱们在这一语言基础上构建起各种基础设施,包括教育环境与人才储备,项目管理的流程与经验,开发、分析、测试工具,建议做法与禁忌。作为后来者当然不会舍弃这些基础设施而另起炉灶从零开始,于是使用类C语言就成了传统。可以预见:下一代的用户终端与的程序库接口,也是类C的编程语言。我们回到MFC的话题。MFC只是对Windows SDK的封装,按后世的看法,MFC不按“套路”出牌!包括作为同时代竞争产品的Borland公司的VCL,还有稍晚的Java awt,也是不按“套路”出招!这里我需要解释下图形库构建的“套路”是什么,读者才能理解什么叫“不走套路”。对于一个图形界面的程序,大致可以分为3个层:+----------------------+
| user application |
+----------------------+
| ui framework |
+----------------------+
| operation system api |
+----------------------+最下面的是操作系统API,无论是UI库还是用户程序,要实现某功能最终都是要依赖于操作系统API的。关键点在于,操作系统需要提供多少数量的API函数,才足以构建一个图形界面程序。答案是:很少。首先,操作系统需要为UI框架和用户程序提供一块屏幕区域:struct window *window_create();
其次,这块区域需要能够接收用户事件(这里以鼠标点击为例):enum mouse_event {
mouse_event_down,
mouse_event_move,
mouse_event_up
};
typedef void (*mouse_handler)(struct window *, mouse_event event, int x, int y);
void window_set_mouse_handler(struct window *, mouse_handler handler);
最后,UI框架与用户程序需要在这块区域绘制各种控件(下例是矩形):struct context *context_get_form_window(struct window *);
void context_set_color(struct context *, int rgba);
void context_fill_rect(struct context *, int x, int y, int width, int height);
只要有了这3类API,一个图形界面程序就可以构建出来了,即使如今复杂的3D图像程序也是如此。这些作为基础API的函数数量很少,往大的说不到一百个,往小的说,十多个也能成事。庞大的UI框架,诸如Qt、Xamarin、WinForm,仅仅是以这几十个操作系统API函数作为自己的基础;对操作系统极小的依赖,也是可移植的保障;也是UI框架构建的“套路”。所以说微软的MFC、Borland的VCL不走“套路”,因为它们都是对Windows SDK的封装,而不是选择少量Windows SDK核心函数并在其上构建自己的工作逻辑。因为Windows SDK使用繁琐,于是有了MFC,但MFC是对Windows SDK的直接封装,虽然提升了易用性,但终究要沿用Windows SDK所定义的工作流程。当然这种做法也是有好处的,例如工作量更小、用户可以更方便地直接调用系统API。说穿了,MFC(当然也包括VCL)需要解决的是“有无”的问题。Windows 1.0这样的图形界面操作系统已经开始在大众领域普及,开发者也需要一套框架来开发图形界面程序。MFC在上世纪90年代取得了巨大的商业成功,但以后世程序员的眼光看,MFC还是太稚气了。我曾经接触过一些学习Windows程序开发的新人,他们对MFC充满鄙夷,认为MFC是上个世纪的遗留产物,它概念多、晦涩难懂、代码量大、界面也丑,他们更倾向于Qt、WPF这样的新秀。他们的结论是对的,MFC确实是上个世纪的遗留产物;但推导过程不对,MFC与Qt、WPF本质上是一样的东西,在MFC上遇到的问题,在使用Qt、WPF时极可能也会遇到,不过是早还是晚。只能说“MFC对新人极不友好”。在MFC同时代,也正是上世纪80、90年代,出现了对后世UI框架设计有极大影响的技术方案:用web浏览器作为图形界面程序的容器。由于篇幅的限制,我这里直接说结论:作为一个整体性的技术方案,它失败了。失败的原因可以大致归为3点:其一是观念上的落后。基于html、js、css的网页技术,最初的设计意图是解决文档浏览的问题,采用html为主,js、css相辅的设计方式。这样的设计在界面表现上有优势,但也仅此而已,其它方面诸如程序生命周期控制、数据处理等就太糟糕了。其二是基础设施的不如意。相关的人才与技术储备太欠缺,所能实现的产出物,无论在功能上还是性能上都无法与MFC、VCL这样的传统程序相同并论。其三是技术开拓者的急功近利。当时热衷于以浏览器作为图形程序容器的技术方案的厂商,如网景,还有后来的google和facebook,它们的意图很明显,就是挑战微软的平台霸权,建立有利于自身的生态环境(说人话就是:招揽开发者、提供生产工具、生产特定的程序、平台吃流量)。充满鼓动性的价值观营销在具有叛逆属性的年轻人中可以快速取得影响力,但得不到主流的支持和强势技术团队的示范,一切都是空。尽管在新世纪的第二个10年以web前端为技术基础的UI框架,如electron、reactive native,取得了喜人的成果,但与上世纪的雏形相比,它们所在的大环境与技术本质已有了根本的区别。但失败的方案并不代表没有借鉴意义。本世纪初出现了一种被称为“direct ui”的思潮,其中一大观点就是程序启动时加载xml文件作为UI。眼亮的同仁一定会说:这不就是资源编辑器莫。对的,这就是现代意义的资源编辑器的雏形。另外也多有程序会在自身嵌入一个web容器来显示特定内容的UI,至今Android、iOS App上这样的做法也相当常见。出于篇幅的限制这里的技术因果就不展开了。上世纪90年代末到本世纪初是UI库百花齐放的年代,如今在PC领域,为人熟知的Qt、Gtk、wxWidgets都出现在这个时间段,这是与大环境有关。首先MFC解决了“有无”的问题,接下来就是“好用难用”的问题;其次由于前一个10年图形系统的普及,业界在图形程序的开发上有了大量的人才、技术、经验上的积累,开发一套UI库对于小团队来说也是敢想敢干的事;再次定制化的需求开始出现,是需要能实现快速开发的程序框架(WTL),还是可以实现跨平台的程序框架(Qt)?是需要能实现常见功能的中小程序框架(wxWidgets),还是得安装几个G的包但可以实现复杂应用的程序框架(WPF)?不同的团队面对不同的任务,一定会有不同的选择。此外当时微软作为处于垄断地位但又不思进取的操作系统厂商,也有推波助澜的作用。本世纪第一个10年,MFC已很老旧,但微软却一直没有给出升级方案;微软一味将开发者向.Net上推,但迁移成本太高,并且后者的性能问题也迟迟不能解决。于是开发者只能自己想办法。Qt是传统PC领域程序框架集大成者,除了UI,它还提供数据库、多媒体等功能,已经不是单纯的UI框架,而是一套完整的程序开发解决方案;wxWidgets就要轻量级一些;WPF则是微软官方作为取代曾经的MFC、后来的WinForm的替代方案。我这里谈一下跨平台开发的一些经验。问:使用跨平台的程序框架开发程序,相比于每个目标平台单独组建一个开发组,前者有更高的性价比?回答是:不一定。开发程序不仅仅是程序员的事,还涉及到产品策划、美术、市场运营、第三方技术供应商等方方面面,具体问题要具体分析。事实上资金与人力充足的团队,更倾向于不同目标平台组建各自的开发组。新世纪的第二个10年,以iOS、Android主导的移动平台兴起。Qt推出了移动平台版本,但终究没有形成气候;微软推出UWP,WPF还是被舍弃了。这又是另一个话题了。以上。共勉。发布于 2019-04-21 21:56赞同 57732 条评论分享收藏喜欢
WTL基础入门-CSDN博客
WTL基础入门
最新推荐文章于 2024-03-01 08:57:18 发布
微小冷
最新推荐文章于 2024-03-01 08:57:18 发布
阅读量2.6k
收藏
4
点赞数
1
分类专栏:
C&C++
文章标签:
C++
WTL
windows
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37816922/article/details/119254816
版权
C&C++
专栏收录该内容
29 篇文章
18 订阅
订阅专栏
WTL基础入门
文章目录
WTL基础入门基于VS2019的WTL环境搭建第一个窗口部分代码的详解WTL自带的MTPad案例
基于VS2019的WTL环境搭建
WTL,即Windows Template Library,提供了一套用于Windows的组件,由于体积很小,而且生成的exe也很小,所以做一些测试软件就十分经济。
首先,下载并解压,将解压后的include文件夹的绝对路径添加到工程的VC++目录中。
具体操作为,右键项目名称->属性(快捷键Shift+F4),选择VC++目录,将include的绝对路径添加到包含目录中。
需要注意一点,由于我们的程序入口不再是main函数,所以在运行前需要检查是否已经设置。其入口仍然在项目设置中,位于链接器->所有选项->子系统,选择窗口 (/SUBSYSTEM:WINDOWS)。
第一个窗口
include文件夹中是WTL的头文件,大致如下
文件名说明atlapp.h信息循环、接口等atlcrack.h消息宏atlctrls.h标准控件库类atlctrlw.h命令栏类atlctrlx.h位图、按钮、框选列表等控件atlddx.h用于对话框、窗口的数据交互atldlgs.h对话框类、属性表以及页面类atlframe.h窗口类atlgdi.hDC和GDI类atlmisc.h一些C语言的内容atlprint.h打印和打印预览atlres.h标准资源IDatlscrl.h滚动条窗口atlsplit.h分割窗口atluser.h菜单类
由于我们只是希望新建一个窗口,所以不需要这么多的头文件,新建一个stdafx.h,暂时include下列.h。
//stdafx.h
#pragma once
#include
#include
extern CAppModule _Module;
#define _WTL_NO_CSTRING
#include
#include
#include
然后在cpp文件中写入代码
#include "stdafx.h"
CAppModule _Module;
class myWindow :public CWindowImpl
BEGIN_MSG_MAP(myWindow)
END_MSG_MAP()
};
//入口函数
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow) {
_Module.Init(NULL, hInstance); //初始化模型
MSG msg;
myWindow Window; //声明一个窗口
//创建一个矩形
CRect rc = CRect(POINT{ 100, 100 }, //左上角点的坐标
POINT{ 900, 500 }); //右下角点的坐标
//创建窗口
Window.Create(NULL, rc, "Hello world", WS_VISIBLE);
while (GetMessage(&msg, NULL, 0,0)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
_Module.Term();
return msg.wParam;
}
运行之后得到下图
可见我们真的创建了一个窗口,而且这个窗口除了Hello World之外一无所有。
部分代码的详解
其中大致有3个地方需要详细解释一下。
BEGIN_MSG_MAP(myWindow) END_MSG_MAP()
这段诡异的没有;的代码不出意外是被define了,如果有兴趣可以F12查看一下源代码。下面是经过转换之后的写法
public:
BOOL ProcessWindowMessage(_In_ HWND hWnd, _In_ UINT uMsg,
_In_ WPARAM wParam, _In_ LPARAM lParam,
_Inout_ LRESULT& lResult, _In_ DWORD dwMsgMapID = 0)
{
BOOL bHandled = TRUE;
(hWnd); //窗口句柄
(uMsg); //消息代码
(wParam); //其他消息数据
(lParam); //其他消息数据
(lResult); //程序返回给 Windows 的整数值
(bHandled);
switch(dwMsgMapID)
{
case 0:
break;
default:
ATLTRACE(static_cast
ATLASSERT(FALSE);
break;
}
return FALSE;
}
即创建了一个公开的布尔型函数,用以写入各种窗口句柄和消息数据。
Window.Create()
其定义为
HWND Create(
_In_opt_ HWND hWndParent, //父句柄
_In_ _U_RECT rect = NULL, //位置大小
_In_opt_z_ LPCTSTR szWindowName = NULL, //窗口名
_In_ DWORD dwStyle = 0, //窗口风格
_In_ DWORD dwExStyle = 0, //扩展风格
_In_ _U_MENUorID MenuOrID = 0U, //资源IO
_In_opt_ LPVOID lpCreateParam = NULL) //貌似没什么卵用
其中,窗口风格我们填了WS_VISIBLE,表示窗口是可见的。这一项可以通过|运算来构造更加丰富的窗口类型。一个简单的例子就是,我们最起码想要创建一个带有-口×的窗口。那么就可以将这一项改为
WS_VISIBLE|WS_SYSMENU|WS_MINIMIZEBOX |WS_MAXIMIZEBOX
while()循环
这个循环就是程序的主循环。
其中,GetMessage顾名思义,就是获取信息,如果传入了推出的信息,则返回值为-1,从而退出循环。
TranslateMessage()用于处理信息;DispatchMessage(&msg);用于响应窗口操作。
WTL自带的MTPad案例
在WTL的解压文件里,除了include文件夹之外,还有一个Sample文件夹,提供了一些基本案例。
其中MTPad编译运行之后如图所示
是个记事本文件,尽管看上去很有年代感,但这完全是res文件夹下图片的锅,只要把图片换一下,就完全看不出年代感了。
在debug文件夹下可发现其exe文件为1.2M。其源代码包括一个mtpad.cpp,外加7个头文件,总计1200多行代码。
首先来看一下mtpad.cpp
#include "stdatl.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include "finddlg.h"
#include "resource.h"
// Globals
#define WM_UPDATEROWCOL (WM_USER + 1000)
LPCTSTR lpcstrMTPadRegKey = _T("Software\\Microsoft\\WTL Samples\\MTPad");
LPCTSTR lpcstrFilter =
_T("All Files (*.*)\0*.*\0")
_T("Text Files (*.txt)\0*.txt\0")
_T("C++ Files (*.cpp)\0*.cpp\0")
_T("Include Files (*.h)\0*.h\0")
_T("C Files (*.c)\0*.c\0")
_T("Inline Files (*.inl)\0*.inl\0")
_T("Ini Files (*.ini)\0*.ini\0")
_T("Batch Files (*.bat)\0*.bat\0")
_T("");
#include "view.h"
#include "aboutdlg.h"
#include "mainfrm.h"
#include "mtpad.h"
CAppModule _Module;
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int nCmdShow)
{
_Module.Init(NULL, hInstance);
//加载文本编辑控件
HINSTANCE hInstRich = ::LoadLibrary(CRichEditCtrl::GetLibraryName());
CThreadManager mgr;
int nRet = mgr.Run(lpCmdLine, nCmdShow);
::FreeLibrary(hInstRich);//释放内存
_Module.Term();
return nRet;
}
这段代码有3点值得一提:
_T(x)由L##x通过define得到,后者表示在表达式x前面加一个L。而L开头的字符串表示Unicode编码。::LoadLibrary,一般双冒号用于索引,比如A::B表示A中的成员B,而以::开头,表示该变量是全局变量。CThreadManager是mtpad.h中封装的类,顾名思义,用于线程管理。在这个类中,定义了Run函数,Run函数中写入了一个while循环,起到窗口待命的作用。
优惠劵
微小冷
关注
关注
1
点赞
踩
4
收藏
觉得还不错?
一键收藏
打赏
知道了
0
评论
WTL基础入门
WTL即Windows Template Library,提供了一套用于Windows的组件,由于体积很小,而且生成的exe也很小,所以做一些测试软件就十分经济。
复制链接
扫一扫
专栏目录
WTL教程中文版资料
04-21
WTL 在开发者之间的悄悄传播已经超过一年了, 传闻它是基于ATL的,并在微软内部使用.这理所当然的引起了ATL开发者社区的注意.这些人从ATL1.1开始,就一直为ATL控件书写UI代码,但是他们发现,他们的所写的代码常常就是纯的Win32 GDI代码.我告诉您, WTL并没有多大不同.是不是让人失望? 不,因为ATL只是对COM进行了简单的封装,这也是ATL的强大之处. 是的,写ATL您必须通晓COM. 您在ATL上额外花费的功夫跟您学习COM所作的努力比起来,简直微不足道.这跟那些需要把主要精力花费在学习类库本身,忽略COM的库是完全不同的.WTL与此类似.您需要懂得Win32窗口技术和GDI.只要您懂得,学习WTL就似清风抚面,再简单不过了.如果您不懂 这些,那么您最好使用VB来写UI代码.
在VS2013中配置WTL
10-22
使用说明
微软最新的编程工具Visual Studio 2013 已经发布,想在该平台下使用WTL的话,目前还没有对应的安装文件(一般学者),本人将自己改写的文件上传到CSDN,供朋友使用。改写的版本为 WTL81_12085
第一步:下载文件包“WTL_81_12085_For_VS2013.rar”,解压后,有两个文件夹和两个文件
文件夹: Application (WTL添加到VS创建向导里的一些文件)
文件夹: Include (include就是WTL的头文件)
文件: setup120.js (安装脚本)
文件: 使用说明.txt
第二步:找到"VS安装目录\VC\VCWizards\AppWiz"这个目录,
如我电脑上就是"F:\Program Files\Microsoft Visual Studio 12.0\VC\VCWizards\AppWiz",
在这个目录下新建一个WTL文件夹,然后将Application文件夹和setup120.js拷贝到WTL文件夹下。
第三步:双击“setup120.js”进行安装,或者用命令行执行。
命令行操作方法如下:
运行CMD,执行如下代码:
wscript //e:jscript "F:\Program Files\Microsoft Visual Studio 12.0\VC\VCWizards\AppWiz\WTL\setup110.js"
第四步:在“安装盘:\Program Files\Microsoft Visual Studio 12.0\VC”建一个WTL文件夹,
将解压出来的Include文件夹拷贝到此文件夹下面。
在编译工程时,将“安装盘:\Program Files\Microsoft Visual Studio 12.0\VC\WTL\Include”目录添加进包含目录。
第四步,可以不操作,只要编译时,将Include (WTL的头文件)目录添加进包含目录。
添加包含目录的操作为:打开工程属性页->配置属性->VC++目录->包含目录->编辑->写入路径->确定
也可以通过改写配置文件,添加为默认的包含路径,具体的方法请在网上找一下。
任何单位或个人转发本文件包请保留作者信息,谢谢!
水梦雪
SnowEmail3074@163.com
参与评论
您还未登录,请先
登录
后发表或查看评论
WTL简介
天道酬勤
04-28
1540
WTL简介
WTL是Windows Template Library的缩写,由微软的ATL(Active Template Library)小组开发,主要是基于ATL对Wind32 API的封装。从2.0后,功能逐步完善,成为了一个完整的支持窗口的框架。
WTL功能不如MFC完善,但是比MFC更小巧,不依赖MFC的DLL。
WTL不是微软的正式产品,没有微软的
WTL入门(二) WTL简介
wbj217的专栏
12-20
3279
对这部分的介绍
好了,现在正式开始介绍WTL!在这一部分我讲的内容包括生成一个基本的主窗口和WTL提供的一些友好的改进,比如UI界面的更新(如菜单上的选择标记)和更好的消息映射机制。为了更好地掌握本章的内容,你应该安装WTL并将WTL库的头文件目录添加到VC的搜索目录中,还要将WTL的应用程序生成向导复制到正确的位置。WTL的发布版本中有文档具体介绍如何做这些设置,如果遇到困难可以查看这些文档。
wtl图形界面
个人进步之路
06-18
561
第一部分介绍WTL框架窗口结构,编写基于WTL的SDI,MDI和多线程SDI的程序,及WTL的辅助类及封装DDX,看向导及例程.
第二部分讲WTL命令栏,封装通用控件,及消息路由,及通用对话框,属性页/属性表,打印支持,以及滚动窗口
WTL的基础–ATL
ATL本来用来支持COM组件和OLE属性页框架.封装了所有基本窗口函数,包括创建和管理窗口/对话框,窗口函数,消息路由,窗口子类化,超类化和消息链等.
对话框/窗口依赖其根,根/容器依赖C窗口.外有个C消息映射.
wtl使创建sdi更容易:CFrameWi
使用WTL进行Windows桌面应用开发-第一部
09-21
基于Windows平台的ATL/WTL桌面应用程序开发.使用C/C++作为开发语言, 开发Windows本地桌面程序.WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行快速开发,不需要其他语言.由浅入深介绍WTL桌面开发涉及到的原理和技术, 从简单界面到自定义界面,自定义按钮表格都有介绍。在绘制窗口元素如文本,图形介绍了GDI和GDI+的常用的开发技巧。介绍了项目开发中遇到的一些细节问题.WTL配置少, 只有头文件,不需要编译为库, 性能高,不依赖第三方库,文件小, 运行快,调试方便, 升级方便。
从零开始的WTL入门教程(1) WTL的简介,环境搭建
importIng的博客
12-12
8108
图文手把手教学系列
WTL界面介绍
houxian1103的博客
04-04
2254
前 言
WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。
如果想在vs 2019 上安装wtl ,可以使用看如下文章:
https://www.cnblogs.com/Lzl678/p/10771668.html
WTL概述
WTL 是Windows Template Library 的缩写。最初,W
使用WTL进行Windows桌面应用开发-第二部
05-14
1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式.2. 涉及到一些项目开发难题的窗口自定义的解决方案。3. 涉及到Gdiplus绘图的项目开发难题的一些解决方案。4. 推荐使用的第三方跨平台库, 虽然WTL是基于Windows的,但是不妨碍我们使用第三方的库进行开发,减少跨平台开发的学习成本。5. WTL是对Win32窗口的薄封装,库是原微软员工开发,是MFC的替代选择。掌握了WTL表示你已经基本掌握了Win32的窗口编程.6. 使用WTL库完全使用C++开发,不需要其他编程语言,减少学习成本和复杂度,整个WTL是开源可控的。7. WTL库只能使用VS2005以上版本开发, 因为它依赖ATL库. 不同的VS版本对应的atl版本不一致,建议使用VS2010以上版本开发.
WTL入门教程
09-04
学习WTL的入门资料,貌似有那么点用处
尤其适合VC++ MFC的,想学习WTL相关知识的
学习WTL 的基础教程
11-05
WTL 具有两面性,确实是这样的。它没有MFC的界面(GUI)类库那样功能强大,但是能够生成很小的可执行文件。如果你象我一样使用MFC进行界面编程,你会觉得MFC提供的界面控件封装使用起来非常舒服,更不用说MFC内置的消息处理机制。当然,如果你也象我一样不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,WTL就是你的选择。当然,我们还要克服一些障碍:
ATL样式的模板类初看起来有点怪异
没有类向导的支持,所以要手工处理所有的消息映射。
MSDN没有正式的文档支持,你需要到处去收集有关的文档,甚至是查看WTL的源代码。
买不到参考书籍
没有微软的官方支持
ATL/WTL的窗口与MFC的窗口有很大的不同,你所了解的有关MFC的知识并不全部适用与WTL。
从另一方面讲,WTL也有它自身的优势:
不需要学习或掌握复杂的文档/视图框架。
具有MFC的基本的界面特色,比如DDX/DDV和命令状态的自动更新功能(译者加:比如菜单的Check标记和Enable标记)。
增强了一些MFC的特性(比如更加易用的分隔窗口)。
可生成比静态链接的MFC程序更小的可执行文件(译者加:WTL的所有源代码都是静态链接到你的程序中的)。
你可以修正自己使用的WTL中的错误(BUG)而不会影响其他的应用程序(相比之下,如果你修正了有BUG的MFC/CRT动态库就可能会引起其它应用程序的崩溃。
如果你仍然需要使用MFC,MFC的窗口和ATL/WTL的窗口可以“和平共处”。(例如我工作中的一个原型就使用了了MFC的 CFrameWnd,并在其内包含了WTL的CSplitterWindow,在CSplitterWindow中又使用了MFC的CDialogs -- 我并不是为了炫耀什么,只是修改了MFC的代码使之能够使用WTL的分割窗口,它比MFC的分割窗口好的多)。
在这一系列文章中,我将首先介绍ATL的窗口类,毕竟WTL是构建与ATL之上的一系列附加类,所以需要很好的了解ATL的窗口类。介绍完ATL之后我将介绍WTL的特性以并展示它是如何使界面编程变得轻而易举。
对第一章的简单介绍
WTL.zip_wtl
09-21
WTL学习时收集的资料,我现在实现的小的桌面工具都用WTL,很好用
WTL 入门学习资料
11-11
感谢网络前辈的无私分享,再整理一下 WTL 的学习文档。
所有源码都能在 VC6,WTL7.0 下编译通过。
具体内容如下:
1、WTL个性设置demo 文档和源码。
2、WTL for MFC Programmers 系列翻译文章,以及源码。
3、WTL 体系.doc
4、WTL源码剖析 -ATLAPP.H.doc
5、深入剖析WTL—WTL框架窗口分析.doc
6、深入剖析WTL-如何封装Windows界面程序.doc
7、白乔原创:VC之美化界面篇
8、ComboBox的WTL移植.doc
9、窗口的子类化.docx
10、深入剖析MFC中对于Windows消息处理、运行机制.doc
WTL基础模板
01-30
WTL vs2013 WTL基础模板 WTL基础模板 WTL基础模板WTL基础模板
DOM 创建节点、添加节点和删除节点
汪汪汪汪
02-29
301
【代码】DOM 创建节点、添加节点和删除节点。
单元测试:参数匹配器和参数捕捉器
baomingshu的博客
02-29
975
Mockito框架中的参数匹配器是用于在测试中进行灵活验证和存根设置的工具。如果使用了参数匹配器,方法中的所有参数都必须是匹配器。
参数匹配器列表:示例:使用anyInt()方法来指定参数的范围,从而实现了对mockList.get()方法的灵活验证和存根设置。
②any(Class type)
示例:使用参数匹配器any(Class type)来存根方法
③eq()
示例:使用参数匹配器eq(value)来存根方法
④same(expectedObject)
⑤endsWith()
特殊的匹配器,
编写链表,链表里面随便搞点数据使用 fprintf 将链表中所有的数据,保存到文件中使用 fscanf 读取文件中的数据,写入链表中
weixin_56593602的博客
03-01
519
/保存到文件中list_p p=H;while(1)p=p->next;break;fclose(fp);//写入链表list_p q=H;while(1)q=q->next;break;return 0;H->len=0;return H;return new;i 每个Python开发者必须知道的事:顶级编程技巧和最佳实践大公开!.zip 最新发布 03-06 python 知识领域: Python 编程 技术关键词: 核心知识点, 代码优化, 高级技巧, 性能提升, 最佳实践 内容关键词: 数据类型, 控制流, 函数, 类与对象, 模块, 异常处理, 文件操作, 并发编程, 异步编程, 代码格式化, 文档字符串, 类型注解, 单元测试, 版本控制 用途: 适用于初学者至中级开发者的技能提升,帮助程序员构建坚实的Python基础,提高编写高效、可维护代码的能力。 vs2019 下配置wtl 08-14 在VS2019中配置WTL(Windows Template Library),需要按照以下步骤进行操作: 1. 首先,确保已经安装了Visual Studio 2019。 2. 打开Visual Studio 2019,点击"文件"(File)菜单,选择"新建"(New),然后选择"项目"(Project)。 3. 在弹出的对话框中,选择"C++",在右侧选择"Windows桌面向导"(Windows Desktop Wizard)。 4. 在下一个对话框中,选择"Windows桌面应用程序"(Windows Desktop Application),然后点击"下一步"(Next)。 5. 在"应用程序设置"(Application Settings)页中,选择"Windows模板库"(Windows Template Library)作为应用程序类型,然后点击"完成"(Finish)。 6. 完成上述步骤后,将会生成一个基本的WTL应用程序项目。 7. 在"资源视图"(Resource View)中,可以添加自定义的资源文件,如图标、位图和对话框等。 8. 在"源文件"(Source Files)中,可以编写C++代码来实现应用程序的逻辑功能。 9. 在解决方案资源管理器中,右键点击"资源文件"(Resource Files),选择"添加"(Add)-> "资源文件"(Resource File),可以添加自定义的资源。 10. 配置完成后,可以通过按下F5键(或选择"调试"(Debug)-> "开始调试"(Start Debugging))来运行应用程序。 通过以上步骤,我们成功在VS2019中配置了WTL。可以通过使用WTL来开发Windows桌面应用程序,并且利用WTL提供的模板和类库来简化开发过程,提高开发效率。 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 微小冷 CSDN认证博客专家 CSDN认证企业博客 码龄7年 Python领域优质作者 918 原创 1324 周排名 598 总排名 210万+ 访问 等级 1万+ 积分 1万+ 粉丝 7136 获赞 807 评论 1万+ 收藏 私信 关注 热门文章 用C语言写一个计算器 45933 python中的open用法详解 38263 Matlab质心算法 24729 用Python搓一个太阳系——行星运动仿真 22159 如何用python给女朋友挑钻石(seaborn画图入门) 19289 分类专栏 python教程 18篇 Rust 18篇 Go语言 8篇 VS Code神级插件 21篇 Python 64篇 Python可视化 71篇 Python+tkinter实战:绘图系统 33篇 当Python遇到GIS 13篇 pygame 16篇 用Python实现100种智能算法 17篇 Python标准库 84篇 sympy 25篇 Python光学仿真 28篇 Numpy 39篇 scipy 70篇 sklearn 14篇 open3d 19篇 并发王者Erlang 10篇 上古编程语言Fortran 9篇 Linux 4篇 数据库 7篇 windows 17篇 AutoHotKey 8篇 C&C++ 29篇 PCL 5篇 QT实战教程 9篇 R语言 28篇 软件入门 39篇 .Net 45篇 WPF开发txt阅读器 19篇 本科生实验 16篇 编程语言学习 23篇 julia 19篇 前端 7篇 杂谈 9篇 旧文 27篇 python旧文 25篇 最新评论 C语言读取bmp图像 会飞的鱼-blog: 谢谢你的分享,写得很好 科研图像处理必备ImageJ初步:直方图和三维强度图 m0_75255174: 请问,为什么在转换为强度分布图以后,不会显示图片,白屏 python图像滤波:边缘检测、去噪、平滑 CSDN-Ada助手: 推荐 Python入门 技能树:https://edu.csdn.net/skill/python?utm_source=AI_act_python python弹道初步:帮柱子想办法干他一炮 微小冷: 不可思议,我这没出现这个问题 python弹道初步:帮柱子想办法干他一炮 累累的: 为什么初始角度比较小的时候跑出来的曲线斜率会升高 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 opencv边缘检测之Canny算法 Python与索引相关的魔法函数: Python与字符串相关的魔法函数 2024 03月 14篇 02月 46篇 01月 62篇 2023年485篇 2022年163篇 2021年94篇 2020年12篇 2019年39篇 2018年3篇 目录 目录 分类专栏 python教程 18篇 Rust 18篇 Go语言 8篇 VS Code神级插件 21篇 Python 64篇 Python可视化 71篇 Python+tkinter实战:绘图系统 33篇 当Python遇到GIS 13篇 pygame 16篇 用Python实现100种智能算法 17篇 Python标准库 84篇 sympy 25篇 Python光学仿真 28篇 Numpy 39篇 scipy 70篇 sklearn 14篇 open3d 19篇 并发王者Erlang 10篇 上古编程语言Fortran 9篇 Linux 4篇 数据库 7篇 windows 17篇 AutoHotKey 8篇 C&C++ 29篇 PCL 5篇 QT实战教程 9篇 R语言 28篇 软件入门 39篇 .Net 45篇 WPF开发txt阅读器 19篇 本科生实验 16篇 编程语言学习 23篇 julia 19篇 前端 7篇 杂谈 9篇 旧文 27篇 python旧文 25篇 目录 评论 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 打赏作者 微小冷 请我喝杯咖啡 ¥1 ¥2 ¥4 ¥6 ¥10 ¥20 扫码支付:¥1 获取中 扫码支付 您的余额不足,请更换扫码支付或充值 打赏作者 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 Windows Template Library (WTL) · GitHub Skip to content Toggle navigation Sign in Win32-WTL Product Actions Automate any workflow Packages Host and manage packages Security Find and fix vulnerabilities Codespaces Instant dev environments Copilot Write better code with AI Code review Manage code changes Issues Plan and track work Discussions Collaborate outside of code Explore All features Documentation GitHub Skills Blog Solutions For Enterprise Teams Startups Education By Solution CI/CD & Automation DevOps DevSecOps Resources Learning Pathways White papers, Ebooks, Webinars Customer Stories Partners Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Repositories Topics Trending Collections Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert Windows Template Library (WTL) Windows Template Library (WTL), an extension of ATL (Active Template Library), is a C++ library for developing Windows applications and UI components. 40 followers https://wtl.sourceforge.io paulushub@gmail.com Overview Repositories Projects Packages People More Overview Repositories Projects Packages People Popular repositories WTL WTL Public Mirror of Windows Template Library (WTL) C++ 85 16 WTL-Docs WTL-Docs Public Open source documentation of Windows Template Library (WTL) WTL-ToolKit WTL-ToolKit Public Advanced open source controls for WTL WTL-Incubator WTL-Incubator Public TThe WTL Incubator provides repositories to projects which may be added to existing package or ship as separate package. WTL-Extensions WTL-Extensions Public Open source header-only extensions to the Windows Template Library (WTL). Repositories Type Select type All Public Sources Forks Archived Mirrors Templates Language Select language All C++ Sort Select order Last updated Name Stars Showing 5 of 5 repositories WTL Public Mirror of Windows Template Library (WTL) C++ 85 16 1 0 Updated Mar 11, 2022 WTL-Extensions Public Open source header-only extensions to the Windows Template Library (WTL). 0 0 0 0 Updated May 20, 2021 WTL-Incubator Public TThe WTL Incubator provides repositories to projects which may be added to existing package or ship as separate package. 0 0 0 0 Updated May 20, 2021 WTL-ToolKit Public Advanced open source controls for WTL 0 0 0 0 Updated May 20, 2021 WTL-Docs Public Open source documentation of Windows Template Library (WTL) 0 MIT 0 0 0 Updated May 20, 2021 People This organization has no public members. You must be a member to see who’s a part of this organization. Top languages Loading… Most used topics Loading… Footer © 2024 GitHub, Inc. Footer navigation Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. WTL学习笔记——WTL的安装(1)_vs2022 wtl-CSDN博客 WTL学习笔记——WTL的安装(1) 最新推荐文章于 2024-03-06 14:44:52 发布 BrightMZM 最新推荐文章于 2024-03-06 14:44:52 发布 阅读量1.3k 收藏 2 点赞数 分类专栏: C++ WTL 文章标签: c++ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/darkdivel314/article/details/106348153 版权 C++ 同时被 2 个专栏收录 5 篇文章 0 订阅 订阅专栏 WTL 3 篇文章 1 订阅 订阅专栏 简介 WTL( Windows Template Library)简单的理解就是一款轻便小巧的C++的UI框架,可以通过简单的代码实现软件的图形化界面编辑。 软件安装 对于现在的VS来说,软件安装依然很简单。首先打开NuGet程序包工具,步骤如下:工具——NuGet包管理器——管理解决方案的NuGet程序包。 再浏览选项卡下面的搜索框中输入“wtl”进行搜索,就可以搜索到wtl库文件了。 我们选择它,在右侧点击安装按钮即可安装。 一路yes之后即可完成安装完成之后就可以在解决方案中找到安装好的头文件了。 3. 总结 至此,wtl就安装完成了,接下来可以用wtl搭建简单的界面了。 优惠劵 BrightMZM 关注 关注 0 点赞 踩 2 收藏 觉得还不错? 一键收藏 知道了 0 评论 WTL学习笔记——WTL的安装(1) 简介WTL( Windows Template Library)简单的理解就是一款轻便小巧的C++的UI框架,可以通过简单的代码实现软件的图形化界面编辑。软件安装对于现在的VS来说,软件安装依然很简单。首先打开NuGet程序包工具,步骤如下:工具——NuGet包管理器——管理解决方案的NuGet程序包。再浏览选项卡下面的搜索框中输入“wtl”进行搜索,就可以搜索到wtl库文件了。我们选择它,在右侧点击安装按钮即可安装。一路yes之后即可完成安装完成之后就可以在解决方案中找到安装.. 复制链接 扫一扫 专栏目录 wtl的安装文件和资料 02-22 包含了wtl的安装文件和资料,自测过,vc2010可以使用的 WTL界面介绍 houxian1103的博客 04-04 2254 前 言 WTL 全称是 Windows Template Library,像 MFC 一样使用 C++ 的面向对象技术对 Win32 接口进行了封装,使之便于开发 Windows 程序。相对于 MFC 这个庞然大物,WTL 保持了小而美,只包含了界面开发相关的特性。 如果想在vs 2019 上安装wtl ,可以使用看如下文章: https://www.cnblogs.com/Lzl678/p/10771668.html WTL概述 WTL 是Windows Template Library 的缩写。最初,W 参与评论 您还未登录,请先 登录 后发表或查看评论 WTL 入门学习资料 11-11 感谢网络前辈的无私分享,再整理一下 WTL 的学习文档。 所有源码都能在 VC6,WTL7.0 下编译通过。 具体内容如下: 1、WTL个性设置demo 文档和源码。 2、WTL for MFC Programmers 系列翻译文章,以及源码。 3、WTL 体系.doc 4、WTL源码剖析 -ATLAPP.H.doc 5、深入剖析WTL—WTL框架窗口分析.doc 6、深入剖析WTL-如何封装Windows界面程序.doc 7、白乔原创:VC之美化界面篇 8、ComboBox的WTL移植.doc 9、窗口的子类化.docx 10、深入剖析MFC中对于Windows消息处理、运行机制.doc WTL安装包 - 蒋彩阳汉化 01-01 最近使用WTL,使用的IDE是VS2005。觉得默认的WTL实在是不方便。在字体和图片上都不令人满意。尤其是字体,它使用的是“MS Sans Serif”字体,这种字体在中文的操作系统上显得很难看(当然这是我的个人见解)。所以结合我学的WTL知识和自己一点英语功底,决定将WTL原版的安装包进行汉化,当然,这里还要修补一些已知的Bug。 汉化的内容如下: 创建windows应用程序的向导(AppWizard); 应用程序向导(AppWizard)下的所有头文件; 应用程序向导(AppWizard)下的所有源文件; 应用程序向导(AppWizard)下的资源文件中将资源语言改为中文(简体); 应用程序向导(AppWizard)下的图标; 此外AppWizMobile和AppWizCE未作修改,因为我一般开发的是windows应用程序。 visual studio配置WTL开发环境.zip 01-21 visual studio配置WTL开发环境.zip 3.3.2 WTL应用向导安装和项目建立 每天都在摸鱼 10-18 924 使用WScript.exe Setup.js进行安装 可以添加后缀/debug 安装debug版本。1 找到AppWizard目录下的 Setup.js文件 目的是为了让其支持高版本VS2022,如果想VS2022 使用 使用VS2019创建 然后VS2022打卡 ,并且安装WTL。发现只有VS2017 新键 字符串的值并把下载目录的值填入。nVErsions加1 并且添加一个项, 就是刚才设置的。 WTL安装包 - 原版 01-01 这是WTL原版的安装包,如果对英语比较吃力,并且难以修改其中的错误的话,可以尝试下载我的汉化版。(http://download.csdn.net/detail/jiangcaiyang123/3990563) 经测试,汉化版在VS2005和VS2008下运行良好(VS2008下新建项目对话框下似乎图标无法显示,这是为什么?),不过这并不影响应用程序的生成,最后,我希望让泛型编程影响更多人,更多人能够运用泛型编程给他们带来的强大威力。 安装WTL8.0过程 Magicbreaker的专栏 02-22 1428 安装WTL8.0过程 今天下载了WTL8.0,下面是安装过程1.解压WTL_80.exe到目录D:/Program Files2.打开cmd,进入D:/Program Files/WTL80/AppWiz目录,执行setup80.js(我本机要安装到Visual Studio 2005中,如果你是VS2003那么执行setup71.js)(cscript,WScript.exe)3.将D: WTL的安装 weixin_30516243的博客 03-24 87 1、下载,我是在http://www.xpblue.com/down/11486.html下载的,http://sourceforge.net/projects/wtl也可以,不过我没打开。
下载:
WTL80.exe(886.84KB)
2、下载的文件是一个自解压文件,解压到任意目录,我是解压到d:\wtl80,80为版本号,面有几个子目录samp... VS2019及以上版本安装WTL向导 LWD的博客 05-10 593 本篇文章解决了高版本VS无法安装WTL向导的问题,并解决了第一次创建WTL项目出现的问题 WTL10(c++界面开发库) 07-30 WTL10(c++界面开发库) WTL10_VS2017 07-05 windows template library(wtl10)库,修改集成到vs2017中的一些问题。 WTL安装步骤.zip 01-21 WTL安装步骤.zip WTL9.0_4035中文安装版2 03-05 Windows Template Library - WTL Version 9.0 (build 4035) 2/4/2014 支持 VS2005 VS2008 VS2010 VS2012 VS2013中文版(英文版VS未做修改) 修改内容: 一、AppWiz 1.修改所有资源文件为中文简体资源(包括菜单... C++复习笔记——泛型编程模板 最新发布 heitong_fu的博客 03-06 654 函数模板利用关键字 template使用函数模板有两种方式:自动类型推导、显示指定类型int a = 10;int b = 20;//利用模板实现交换//1、自动类型推导//2、显示指定类型mySwapint(a, b);模板的目的是为了提高复用性,将类型参数化使用模板时必须确定出通用数据类型T,并且能够推导出一致的类型函数模板在自动推导时不可以进行隐式类型转换//利用模板提供通用的交换函数T temp = a;a = b;b = temp; 剑指offer》15--二进制中1的个数[C++] 风请扬 03-04 381 输入一个整数,输出该数二进制表示中 1 的个数。 关于c++右值的一些理解 qq_40896190的博客 03-04 834 在测试程序中getObj()的返回值就是一个将亡值,也就是说是一个右值,在进行赋值操作的时候如果=右边是一个右值,那么移动构造函数就会被调用。移动构造中使用了右值引用,会将临时对象中的堆内存地址的所有权转移给对象t,这块内存被成功续命,因此在t对象中还可以继续使用这块内存。将亡值:与右值引用相关的表达式,比如,T&&类型函数的返回值、 std::move 的返回值等。,其生命周期与右值引用类型变量的生命周期一样,只要该变量还活着,该右值临时量将会一直存活下去。右值引用就是对一个右值进行引用的类型。 【贡献法】第十一届蓝桥杯省赛第二场C++ A组《子串分值》(c++) m0_74172965的博客 03-03 315 本题来自第十一届蓝桥杯省赛第二场C++ A组《子串分值》 mfc 程序员的 wtl 教程 pdf下载 07-30 MTF 是一种基于微软技术的开发框架,用于创建Windows应用程序。WTL(Windows Template Library)是MFC的轻量级替代品,它提供了一组用于构建Windows应用程序界面的模板类和宏。对于想要学习和使用WTL的MFC程序员来说,一个WTL教程是必不可少的。 关于WTL教程的PDF下载,有一些可用的资源。首先,你可以在网上搜索WTL教程PDF,可能会找到一些免费或收费的下载链接。你可以看看一些技术论坛、博客或在线教育平台上的WTL教程,它们往往提供了PDF版本的下载。 另外,你还可以考虑购买一些出版物,如专门讲解WTL的书籍或教程DVD。这些资源往往包含了更全面的内容,可以帮助你系统地学习和掌握WTL的知识。一些知名的出版社,如O'Reilly和Packt,可能会有WTL教程的出版物,并提供PDF版本的购买或下载。 无论你选择哪种方式,确保选择适合自己水平和需求的教程,以便更好地学习和应用WTL技术。希望你能找到适合的资源,顺利学习WTL并运用到你的MFC开发中。 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 BrightMZM CSDN认证博客专家 CSDN认证企业博客 码龄11年 暂无认证 18 原创 19万+ 周排名 161万+ 总排名 5万+ 访问 等级 576 积分 13 粉丝 31 获赞 29 评论 173 收藏 私信 关注 热门文章 Vs2017调用静态库的详细方法 12497 错误 LNK2019,无法解析的外部符号__imp____iob_func; 无法解析的外部符号 __imp__fprintf 的解决方法。 11089 简单的Bat文件延迟启动特定程序 6615 简单快速文件批量命名,更改后缀名,替换特定字符的方法 5038 ## **C++在 VS中快速编码的技巧(1):联想输入、自动补全函数名插件:Visual Assist** 4871 分类专栏 linux 2篇 C++ 5篇 Bat 1篇 laya 2篇 快捷使用 1篇 Qt 1篇 C# 3篇 Unity3d 3篇 WTL 3篇 UnityShader 1篇 最新评论 ## **C++在 VS中快速编码的技巧(1):联想输入、自动补全函数名插件:Visual Assist** Always Believe ...: 要花钱了,唉 错误 LNK2019,无法解析的外部符号__imp____iob_func; 无法解析的外部符号 __imp__fprintf 的解决方法。 everydayl: 感谢博主,已解决 简单快速文件批量命名,更改后缀名,替换特定字符的方法 BrightMZM: win7应该也可以吧,不过有可能运行库不一样导致语法改变不能正确运行 简单快速文件批量命名,更改后缀名,替换特定字符的方法 BrightMZM: &属于特殊字符,可能需要转义符去做替换,建议你用专门的改名软件修改。 简单快速文件批量命名,更改后缀名,替换特定字符的方法 lajimingzi_: 大佬,我想把原本z的更换成&,按照步骤输入之后没有任何反应,这是为什么? 最新文章 Linux系统基本命令 Linux传图到windows下面图片错误?解决方法 简单的Bat文件延迟启动特定程序 2022年2篇 2021年3篇 2020年9篇 2019年2篇 2018年3篇 目录 目录 分类专栏 linux 2篇 C++ 5篇 Bat 1篇 laya 2篇 快捷使用 1篇 Qt 1篇 C# 3篇 Unity3d 3篇 WTL 3篇 UnityShader 1篇 目录 评论 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++-CSDN博客 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++ 最新推荐文章于 2021-06-18 16:32:07 发布 学院导师-戴辉 最新推荐文章于 2021-06-18 16:32:07 发布 阅读量522 收藏 1 点赞数 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_33563265/article/details/106513377 版权 使用WTL进行Windows桌面应用开发-第一部 讲师博客( https://blog.csdn.net/infoworld ).10年以上C/C++开发经验,擅长Windows界面WTL/ATL开发和macOS的Cocoa开发.Socket和多线程设计和开发.常用语言C/C++,Java,Python. 戴辉 ¥30.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠,最少立减5元 ↓↓↓ 订阅后:请点击此处观看视频课程 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++ 学习有效期:永久观看 学习时长:232分钟 学习计划:4天 难度:低 「口碑讲师带队学习,让你的问题不过夜」 讲师姓名:戴辉 技术经理 讲师介绍:讲师博客( https://blog.csdn.net/infoworld ).10年以上C/C++开发经验,擅长Windows界面WTL/ATL开发和macOS的Cocoa开发.Socket和多线程设计和开发.常用语言C/C++,Java,Python. ☛点击立即跟老师学习☚ 「你将学到什么?」 基于Windows平台的ATL/WTL桌面应用程序开发. 使用C/C++作为开发语言, 开发Windows本地桌面程序. WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。 适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行快速开发,不需要其他语言. 由浅入深介绍WTL桌面开发涉及到的原理和技术, 从简单界面到自定义界面,自定义按钮表格都有介绍。 在绘制窗口元素如文本,图形介绍了GDI和GDI+的常用的开发技巧。 介绍了项目开发中遇到的一些细节问题. WTL配置少, 只有头文件,不需要编译为库, 性能高,不依赖第三方库,文件小, 运行快,调试方便, 升级方便。 「课程学习目录」 第1章:一个简单的WTL程序 1.Windows桌面程序介绍和开发环境搭建. 2.创建一个简单的WTL程序. 第2章:WTL界面开发入门篇 1.WTL基础,窗口和GDI对象. 2.绘制文本,线条,矩形,圆形和图片. 第3章:WTL界面开发原理篇 1.WTL的消息循环和消息映射 2.GDI,GDI+绘图, 双缓冲绘图. 第4章:WTL界面开发中级篇 1.界面元素布局,移动界面和其他. 2.常用的界面开发需求 第5章:WTL界面开发高级篇1 1.自定义按钮 2.自定义带复选框的表格 第6章:WTL界面开发高级篇2 1.拉伸界面和拖放文件 2.GDIPlus的高级应用. 「7项超值权益,保障学习质量」 大咖讲解 技术专家系统讲解传授编程思路与实战。 答疑服务 专属社群随时沟通与讲师答疑,扫清学习障碍,自学编程不再难。 课程资料+课件 超实用资料,覆盖核心知识,关键编程技能,方便练习巩固。(部分讲师考虑到版权问题,暂未上传附件,敬请谅解) 常用开发实战 企业常见开发实战案例,带你掌握Python在工作中的不同运用场景。 大牛技术大会视频 2019Python开发者大会视频免费观看,送你一个近距离感受互联网大佬的机会。 APP+PC随时随地学习 满足不同场景,开发编程语言系统学习需求,不受空间、地域限制。 「什么样的技术人适合学习?」 想进入互联网技术行业,但是面对多门编程语言不知如何选择,0基础的你掌握开发、编程技术单一、冷门,迫切希望能够转型的你想进入大厂,但是编程经验不够丰富,没有竞争力,程序员找工作难。 「悉心打造精品好课,4天学到大牛3年项目经验」 【完善的技术体系】 技术成长循序渐进,帮助用户轻松掌握 掌握C/C++知识,扎实编码能力 【清晰的课程脉络】 浓缩大牛多年经验,全方位构建出系统化的技术知识脉络,同时注重实战操作。 【仿佛在大厂实习般的课程设计】 课程内容全面提升技术能力,系统学习大厂技术方法论,可复用在日后工作中。 「你可以收获什么?」 了解和清楚Win32,MFC,WTL这类基于消息的应用程序开发的原理 了解熟悉Windows界面开发的GDI,GDI+编程 多线程技术在界面开发的应用 学会Win32界面开发 订阅课程 开始学习 优惠劵 学院导师-戴辉 关注 关注 0 点赞 踩 1 收藏 觉得还不错? 一键收藏 知道了 0 评论 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++ 使用C++库WTL进行Windows桌面应用程序开发-第一部 10年以上C/... 复制链接 扫一扫 WTL教程中文版资料 04-21 WTL 在开发者之间的悄悄传播已经超过一年了, 传闻它是基于ATL的,并在微软内部使用.这理所当然的引起了ATL开发者社区的注意.这些人从ATL1.1开始,就一直为ATL控件书写UI代码,但是他们发现,他们的所写的代码常常就是纯的Win32 GDI代码.我告诉您, WTL并没有多大不同.是不是让人失望? 不,因为ATL只是对COM进行了简单的封装,这也是ATL的强大之处. 是的,写ATL您必须通晓COM. 您在ATL上额外花费的功夫跟您学习COM所作的努力比起来,简直微不足道.这跟那些需要把主要精力花费在学习类库本身,忽略COM的库是完全不同的.WTL与此类似.您需要懂得Win32窗口技术和GDI.只要您懂得,学习WTL就似清风抚面,再简单不过了.如果您不懂 这些,那么您最好使用VB来写UI代码. 使用WTL进行Windows桌面应用开发-第一部 09-21 基于Windows平台的ATL/WTL桌面应用程序开发.使用C/C++作为开发语言, 开发Windows本地桌面程序.WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行快速开发,不需要其他语言.由浅入深介绍WTL桌面开发涉及到的原理和技术, 从简单界面到自定义界面,自定义按钮表格都有介绍。在绘制窗口元素如文本,图形介绍了GDI和GDI+的常用的开发技巧。介绍了项目开发中遇到的一些细节问题.WTL配置少, 只有头文件,不需要编译为库, 性能高,不依赖第三方库,文件小, 运行快,调试方便, 升级方便。 参与评论 您还未登录,请先 登录 后发表或查看评论 wtl图形界面 个人进步之路 06-18 561 第一部分介绍WTL框架窗口结构,编写基于WTL的SDI,MDI和多线程SDI的程序,及WTL的辅助类及封装DDX,看向导及例程. 第二部分讲WTL命令栏,封装通用控件,及消息路由,及通用对话框,属性页/属性表,打印支持,以及滚动窗口 WTL的基础–ATL ATL本来用来支持COM组件和OLE属性页框架.封装了所有基本窗口函数,包括创建和管理窗口/对话框,窗口函数,消息路由,窗口子类化,超类化和消息链等. 对话框/窗口依赖其根,根/容器依赖C窗口.外有个C消息映射. wtl使创建sdi更容易:CFrameWi [学院]_[WTL]_[Windows的C++桌面应用程序开发] Tobey(我是机器人) 10-18 1512 经过多天努力,推出和适合入门和提高的WTL开发。Windows C++ Win32应用程序开发。 使用C++库WTL进行Windows桌面应用程序开发-第一部 从零开始的WTL入门教程(2)创建第一个窗口 importIng的博客 03-12 1621 在开始创建窗口前 有一些必须了解的C/C++特性,即使看不太懂也没有关系先记下 一.C++中的变量。 如果你没有C++基础 那么你需要重新理清C++中的变量和对象关系。 对于变量 它在创建的时候在栈中分配内存。C++中的对象可与基本类型一样直接创建,创建时即分配内存,离开作用域时出栈释放。也可以在堆中创建即创建指针指向new的对象 void founction(){ yourClass obj1;... 使用WTL进行Windows桌面应用开发-第二部 05-14 1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式.2. 涉及到一些项目开发难题的窗口自定义的解决方案。3. 涉及到Gdiplus绘图的项目开发难题的一些解决方案。4. 推荐使用的第三方跨平台库, 虽然WTL是基于Windows的,但是不妨碍我们使用第三方的库进行开发,减少跨平台开发的学习成本。5. WTL是对Win32窗口的薄封装,库是原微软员工开发,是MFC的替代选择。掌握了WTL表示你已经基本掌握了Win32的窗口编程.6. 使用WTL库完全使用C++开发,不需要其他编程语言,减少学习成本和复杂度,整个WTL是开源可控的。7. WTL库只能使用VS2005以上版本开发, 因为它依赖ATL库. 不同的VS版本对应的atl版本不一致,建议使用VS2010以上版本开发. WTL for MFC Programmers, 中文版序言 oRbIt 的专栏 04-05 3730 WTL for MFC Programmers, Chinese Version Prologue 我一直在寻找这样一个类库:他对Windows的窗口提供面向对象的封装,有灵活的消息响应机制和比较完备的界面框架解决方案,对标准控件提供简练实用的封装,支持操作系统的新特性,支持功能扩充和二次开发,有代码自动生成向导机制,生成的程序使用较少的系统资源,最后是有完全的代码支持和文档支持。你会 C++ STL,ATL,WTL之间的联系和区别 cxu123321的博客 07-27 736 C++ STL,ATL,WTL之间的联系和区别 2013年12月05日 16:09:55LoveApp_Han阅读数 15283 STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现... C++中WTL_和_MFC_编程 03-25 目录 WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue ................................ ........................... 6 WTL for MFC Programmers, Part I - ATL GUI Classes ................................ ........................... 8 README.TXTREADME.TXT README.TXTREADME.TXT README.TXTREADME.TXT ................................ ................................ ................................ ......................... 8 对本系列文章的总体介绍 对本系列文章的总体介绍 对本系列文章的总体介绍 ................................ ................................ ................................ ....... 9 对第一章的简单介绍 对第一章的简单介绍 ................................ ................................ ................................ ............. 11 ATL ATL ATL 背景知识 ................................ ................................ ................................ ....................... 11 ATL 和 WTL 的发展历史 ................................ ................................ ......................... 12 ATL-style 模板 ................................ ................................ ................................ ............. 12 ATL ATL ATL 窗口类 ................................ ................................ ................................ ........................... 15 定义一个窗口的实现 定义一个窗口的实现 ................................ ................................ ................................ ............. 17 填写消息映射链 ................................ ................................ ................................ ............. 19 高级消息映射链和嵌 高级消息映射链和嵌 入类 ................................ ................................ ................................ ..... 21 ATLATL 程序的结构 ................................ ................................ ................................ .................... 24 ATLATL 中的对话框 ................................ ................................ ................................ .................... 27 WTL for MFC Programmers, Part II - WTL GUI Base Classes ................................ ............. 32 对第二部分的介绍 对第二部分的介绍 ................................ ................................ ................................ ................. 32 WTL WTL WTL WTL 总体印象 ................................ ................................ ................................ ...................... 32 开始写 WTLWTLWTL程序 ................................ ................................ ................................ .................. 33 WTL WTL WTL WTL 对消息映射的增强 ................................ ................................ ................................ ...... 36 从 WTLWTLWTL的应用程序生成向导能得到什么 的应用程序生成向导能得到什么 的应用程序生成向导能得到什么 ................................ ................................ .......... 42 使用向导的整个过程 ................................ ................................ ................................ ..... 42 查看生成的代码 ................................ ................................ ................................ ............. 44 CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop 的内部实现 ................................ ................................ ................................ .. 47 CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl 的内部实现 ................................ ................................ ......................... 48 回到前面的时钟程序 回到前面的时钟程序 ................................ ................................ ................................ ............. 50 界面元素的自动更新 界面元素的自动更新 (UI Updating)(UI Updating)(UI Updating)(UI Updating) (UI Updating) (UI Updating)(UI Updating)(UI Updating)(UI Updating) (UI Updating) ................................ ................................ ...................... 51 添加控制时钟的新菜单项 ................................ ................................ ............................. 52 调用 UIEnable()................................ ................................ ................................ ............ 53 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 ................................ ................................ WTL webbrowser javascript c++ 开发html界面 02-23 一直想做html的界面,基于MFC的html界面开发网上有很多源码,但是使用WTL开发的网上资源很少。CSDN上有些貌似的资源不过可惜的还是MFC的翻版,让人可恨的是,抄别人的代码,你也改改文件名,函数明吧,你就把别人的代码拿过来删掉全部的注释,然后就说自己开发,垃圾。 这个是我在www.codeproject.com上找到的源码,个人感觉不错,能够让人清晰的知道如何开发html界面,以及c++与javascript的交互(双方面)。 visual c++ WTL教程.zip 01-21 visual c++ WTL教程.zip JCB-使用WTL用C ++编写的Java类浏览器 04-08 使用WTL用C ++编写的Java类浏览器 ScreenSaver Manager-在WTL中使用SystemTray类的示例 04-11 从任务栏管理屏幕保护程序活动。 CAtlBitmapButton-ATL / WTL Ownerdraw超类位图按钮 04-07 所有者绘制的ATL / WTL位图按钮 每个Python开发者必须知道的事:顶级编程技巧和最佳实践大公开!.zip 03-06 python 知识领域: Python 编程 技术关键词: 核心知识点, 代码优化, 高级技巧, 性能提升, 最佳实践 内容关键词: 数据类型, 控制流, 函数, 类与对象, 模块, 异常处理, 文件操作, 并发编程, 异步编程, 代码格式化, 文档字符串, 类型注解, 单元测试, 版本控制 用途: 适用于初学者至中级开发者的技能提升,帮助程序员构建坚实的Python基础,提高编写高效、可维护代码的能力。 (基于Springboot的Java毕业设计)新闻稿件管理系统(源码+演示视频+说明文档).rar 03-06 (基于Springboot的Java毕业设计)新闻稿件管理系统(源码+演示视频+说明文档).rar 【项目技术】 开发语言:Java 框架:springboot 架构:B/S 数据库:mysql 【实现功能】 本新闻稿件管理系统管理员功能有个人中心,用户管理,记者管理,审批员管理,新闻分类管理,新闻信息管理,系统管理等。记者发布新闻信息,审批员进行审核,用户进行查看。 基于Hadoop和spark由java和python语言开发的电影推荐系统.zip 最新发布 03-06 基于spark的系统 mfc 程序员的 wtl 教程 pdf下载 07-30 MTF 是一种基于微软技术的开发框架,用于创建Windows应用程序。WTL(Windows Template Library)是MFC的轻量级替代品,它提供了一组用于构建Windows应用程序界面的模板类和宏。对于想要学习和使用WTL的MFC程序员来说,一个WTL教程是必不可少的。 关于WTL教程的PDF下载,有一些可用的资源。首先,你可以在网上搜索WTL教程PDF,可能会找到一些免费或收费的下载链接。你可以看看一些技术论坛、博客或在线教育平台上的WTL教程,它们往往提供了PDF版本的下载。 另外,你还可以考虑购买一些出版物,如专门讲解WTL的书籍或教程DVD。这些资源往往包含了更全面的内容,可以帮助你系统地学习和掌握WTL的知识。一些知名的出版社,如O'Reilly和Packt,可能会有WTL教程的出版物,并提供PDF版本的购买或下载。 无论你选择哪种方式,确保选择适合自己水平和需求的教程,以便更好地学习和应用WTL技术。希望你能找到适合的资源,顺利学习WTL并运用到你的MFC开发中。 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 学院导师-戴辉 CSDN认证博客专家 CSDN认证企业博客 码龄8年 暂无认证 1 原创 - 周排名 37万+ 总排名 522 访问 等级 0 积分 0 粉丝 0 获赞 0 评论 1 收藏 私信 关注 热门文章 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++ 521 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 2020年1篇 目录 目录 最新文章 2020年1篇 目录 评论 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 Windows Template Library (WTL) download | SourceForge.net Join/Login Open Source Software Business Software For Vendors Blog About More Articles Create Learn Site Documentation Subscribe to our Newsletter Support Request For Vendors Help Create Join Login Open Source Software Business Software Resources Articles Learn Blog Menu Help Create Join Login Home Browse Open Source Software Development Windows Template Library (WTL) Windows Template Library (WTL) Brought to you by: nenadstefanovic 24 Reviews Downloads: 285 This Week Last Update: 2022-06-14 Download Get Updates Share This Windows Summary Files Reviews Support Mailing Lists Tickets ▾ Bugs Support Requests Patches Feature Requests News Discussion Git Code Windows Template Library (WTL) is a C++ library for developing Windows applications and UI components. It extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. Project Activity See All Activity > CategoriesSoftware Development LicenseCommon Public License 1.0, Microsoft Public License Follow Windows Template Library (WTL) Windows Template Library (WTL) Web Site Other Useful Business Software SpamTitan Email Security and Protection SpamTitan blocks spam, viruses, malware, ransomware, phishing attempts and other email threats. Blocks phishing, spam emails, malware, viruses, ransomware and malicious email threats. Provides advanced yet easy to use email spam filtering. Perfect for businesses, schools and managed service providers. Learn More Rate This ProjectLogin To Rate This Project User Ratings 4.8 out of 5 stars ★★★★★ ★★★★ ★★★ ★★ ★ 21 2 1 0 0 ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5 features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5 design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5 support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5 User Reviews Filter Reviews: All All ★★★★★ ★★★★ ★★★ ★★ ★ fatalerror0x4c Posted 2020-09-06 WTL is fun to code with in Windows tobey-robot Posted 2020-07-03 good framework for win32, but lack design tool like macOS IB todma Posted 2017-02-01 Problems with Windows 10: Visual Studio 2015 desktop express / atlbase.h / atls.lib or atlsd.lib VS2015 does not have 'ATL' projects. I had hoped to use the WTL header files to build old projects under windows 10 desktop. I can get the header files from Win71. DDK but not the lib files. The lib files ought to be available for developers! 1 user found this review helpful. calmopyrin Posted 2015-11-16 Extremely lightweight library that makes Windows development a breeze. ihart Posted 2015-10-31 Been using WTL for years now. Its Perfect - Love your work. Thank you Read more reviews > Additional Project Details Operating SystemsWindows LanguagesEnglish Intended AudienceDevelopers User InterfaceWin32 (MS Windows) Programming LanguageC++ Related Categories C++ Software Development Software Registered 2004-05-09 Similar Business Software SkinCrafter SkinCrafter is an efficient developer library which is available as ActiveX and .NET library. It allows users to create unique-looking style applications, fully interactive user interfaces and much more. The library can be easily incorporated into any existing application as it doesn't exchange... See Software Thinfinity VirtualUI Thinfinity Virtual UI is a development platform that allows you to take any existing Desktop Application and publish it as a web solution. By adding a single line of code to any of your existing software, you will be enabling dual-platform functionality. Releasing a Windows application to the... See Software WinUI The Windows UI Library (WinUI) is a native user experience (UX) framework for both Windows desktop and UWP applications. By incorporating the Fluent Design System into all experiences, controls, and styles, WinUI provides consistent, intuitive, and accessible experiences using the latest user... See Software Report inappropriate content Recommended Projects Visual WTL and WinxGui ClassWizard VisualFC is visual degign WTL or WinxGui win32 application. developer addin for VS60, EVC4, VS2005 and VS2008 . Now offer AppWizard, ClassWizard, CodeWizard. ClassWiard design the Message, Notify, Command, UpdateUI, DialogResize, DialogFont etc. Win32++ Win32++ is a C++ library used to build windows applications. It is a simple, open source alternative to MFC. Win32++ supports the C++ compilers from GNU and Microsoft. It is an ideal starting point for anyone learning to program for windows, but also caters for the needs of professional developers. wtlhelper9 Maintenance to famous project WTL Helper. It's a addin for vs2003, vs2005, vs2008 that support developer using WTL rapidly. Arduino Open-source electronics platform Top Searches wtl windows emulator for chromebook windows 11 spyware seismic segy viewer gdi+ library gdi+ download installer atl 1v1.lol Related Business Categories Application Development SourceForge Create a Project Open Source Software Business Software Top Downloaded Projects Company About Team SourceForge Headquarters 225 Broadway Suite 1600 San Diego, CA 92101 +1 (858) 454-5900 Resources Support Site Documentation Site Status © 2024 Slashdot Media. All Rights Reserved. Terms Privacy Opt Out Advertise Thanks for helping keep SourceForge clean. X You seem to have CSS turned off. Please don't fill out this field. You seem to have CSS turned off. Please don't fill out this field. Briefly describe the problem (required): Upload screenshot of ad (required): Select a file, or drag & drop file here. ✔ ✘ Screenshot instructions: Windows Click URL instructions: Right-click on the ad, choose "Copy Link", then paste here → (This may not be possible with some types of ads) More information about our ad policies Please provide the ad click URL, if possible: [学院]_[WTL]_[Windows的C++桌面应用程序开发]_c++wtl开发-CSDN博客 [学院]_[WTL]_[Windows的C++桌面应用程序开发] 最新推荐文章于 2024-01-20 15:51:51 发布 Peter(阿斯拉达) 最新推荐文章于 2024-01-20 15:51:51 发布 阅读量1.5k 收藏 点赞数 分类专栏: 学院-学习资料 文章标签: WTL Windows C++ Win32 桌面程序 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/infoworld/article/details/102633026 版权 学院-学习资料 专栏收录该内容 9 篇文章 1 订阅 订阅专栏 经过多天努力,推出适合入门和提高的ATL/WTL界面开发, Windows C++ Win32桌面应用程序开发。WTL库应该是最简单的Windows本地桌面应用程序开发库, 提供C++类对Win32窗口函数进行薄封装,但是功能足够强大,灵活。目前是开发C++的Windows桌面程序最简单的方案了, 没有第3方库, 只需要C++语言,不需要编译出动态静态库,因为WTL库只是纯头文件。 欢迎订阅课程 使用C++库WTL进行Windows桌面应用程序开发-第一部 优惠劵 Peter(阿斯拉达) 关注 关注 0 点赞 踩 0 收藏 觉得还不错? 一键收藏 打赏 知道了 0 评论 [学院]_[WTL]_[Windows的C++桌面应用程序开发] 经过多天努力,推出和适合入门和提高的WTL开发。Windows C++ Win32应用程序开发。使用C++库WTL进行Windows桌面应用程序开发-第一部 复制链接 扫一扫 专栏目录 使用WTL进行Windows桌面应用开发-第二部 05-14 1. 在第一部基础上增加更深入的内容,比如WTL提供的标准Win32窗口和自定义窗口的使用方式.2. 涉及到一些项目开发难题的窗口自定义的解决方案。3. 涉及到Gdiplus绘图的项目开发难题的一些解决方案。4. 推荐使用的第三方跨平台库, 虽然WTL是基于Windows的,但是不妨碍我们使用第三方的库进行开发,减少跨平台开发的学习成本。5. WTL是对Win32窗口的薄封装,库是原微软员工开发,是MFC的替代选择。掌握了WTL表示你已经基本掌握了Win32的窗口编程.6. 使用WTL库完全使用C++开发,不需要其他编程语言,减少学习成本和复杂度,整个WTL是开源可控的。7. WTL库只能使用VS2005以上版本开发, 因为它依赖ATL库. 不同的VS版本对应的atl版本不一致,建议使用VS2010以上版本开发. 视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++ weixin_33563265的博客 05-28 523 使用C++库WTL进行Windows桌面应用程序开发-第一部 10年以上C/... 参与评论 您还未登录,请先 登录 后发表或查看评论 c++核心编程和桌面应用开发 weixin_62575733的博客 01-20 400 注意6:分文件编写代码时,如果.h中有两个命名空间,但是里面的成员函数或成员变量同名时,在.cpp函数中需要添加命名空间。注意3:命名空间是开放的,随时可以加入新成员,但是新成员只能在加入后使用。1.为什么有命名空间,是因为解决多人合作取标识符重命名的问题。1.作用:用来访问某个作用域里面的成员。注意2:命名空间可以嵌套命名空间。注意1:命名空间只能写在全局。注意5:命名空间可以取别名。注意4:匿名命名空间。 Visual Studio C++桌面应用程序教程 1.新建项目和基础 m0_66351435的博客 11-16 772 准备材料:Visual Studio 2022。 3.1 WTL概述,简单使用和ATL概述,简单使用 每天都在摸鱼 10-18 1053 UI库是基于WTL ,WTL是基于ATL UI库可以自己制作MFC 兼容性导致其性能下降 对大型项目影响很大 影响架构设计有一定的基础封装不是mfc的框架,可以自己定制一些窗口行为(WTL)WTL对模板编程有要求ATL Activity Template Library .NET编程。 VS2019及以上版本安装WTL向导 LWD的博客 05-10 593 本篇文章解决了高版本VS无法安装WTL向导的问题,并解决了第一次创建WTL项目出现的问题 WTL.zip_wtl_wtl 技巧 09-24 WTL界面编程资料,全面介绍WTL编程,指引编程技巧,对于编程很有用 ui_Button.zip_WTL custom_wtl_wtl button 09-21 基于 WTL 架构,采用自定义方式显示 BUTTON 使用WTL进行Windows桌面应用开发-第一部 06-16 使用C/C++作为开发语言, 开发Windows本地桌面程序.WTL界面库是MFC的替代选择, 是Win32界面编程的薄封装,可以说学会WTL开发即学会了Win32界面开发。适合中小型公司开发基于C/C++语言的客户端项目, 因为WTL可以进行... WTL-Message.rar_K._wtl_wtl gui 09-20 它没有MFC的界面(GUI)类库那样功能强大,但是能够生成很小的可执行文件,如果您不希望自己的程序仅仅因为使用了MFC的框架就增加几百K的大小的话,WTL就是你的选择 。本文深入剖析WTL的消息原理,帮助您更好地了解... C++中WTL_和_MFC_编程 03-25 目录 WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version PrologueWTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue WTL for MFC Programmers, Chinese Version Prologue ................................ ........................... 6 WTL for MFC Programmers, Part I - ATL GUI Classes ................................ ........................... 8 README.TXTREADME.TXT README.TXTREADME.TXT README.TXTREADME.TXT ................................ ................................ ................................ ......................... 8 对本系列文章的总体介绍 对本系列文章的总体介绍 对本系列文章的总体介绍 ................................ ................................ ................................ ....... 9 对第一章的简单介绍 对第一章的简单介绍 ................................ ................................ ................................ ............. 11 ATL ATL ATL 背景知识 ................................ ................................ ................................ ....................... 11 ATL 和 WTL 的发展历史 ................................ ................................ ......................... 12 ATL-style 模板 ................................ ................................ ................................ ............. 12 ATL ATL ATL 窗口类 ................................ ................................ ................................ ........................... 15 定义一个窗口的实现 定义一个窗口的实现 ................................ ................................ ................................ ............. 17 填写消息映射链 ................................ ................................ ................................ ............. 19 高级消息映射链和嵌 高级消息映射链和嵌 入类 ................................ ................................ ................................ ..... 21 ATLATL 程序的结构 ................................ ................................ ................................ .................... 24 ATLATL 中的对话框 ................................ ................................ ................................ .................... 27 WTL for MFC Programmers, Part II - WTL GUI Base Classes ................................ ............. 32 对第二部分的介绍 对第二部分的介绍 ................................ ................................ ................................ ................. 32 WTL WTL WTL WTL 总体印象 ................................ ................................ ................................ ...................... 32 开始写 WTLWTLWTL程序 ................................ ................................ ................................ .................. 33 WTL WTL WTL WTL 对消息映射的增强 ................................ ................................ ................................ ...... 36 从 WTLWTLWTL的应用程序生成向导能得到什么 的应用程序生成向导能得到什么 的应用程序生成向导能得到什么 ................................ ................................ .......... 42 使用向导的整个过程 ................................ ................................ ................................ ..... 42 查看生成的代码 ................................ ................................ ................................ ............. 44 CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop CMessageLoop 的内部实现 ................................ ................................ ................................ .. 47 CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl CFrameWindowImpl 的内部实现 ................................ ................................ ......................... 48 回到前面的时钟程序 回到前面的时钟程序 ................................ ................................ ................................ ............. 50 界面元素的自动更新 界面元素的自动更新 (UI Updating)(UI Updating)(UI Updating)(UI Updating) (UI Updating) (UI Updating)(UI Updating)(UI Updating)(UI Updating) (UI Updating) ................................ ................................ ...................... 51 添加控制时钟的新菜单项 ................................ ................................ ............................. 52 调用 UIEnable()................................ ................................ ................................ ............ 53 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 消息映射链中最后需要注意的地方 ................................ ................................ WTL webbrowser javascript c++ 开发html界面 02-23 一直想做html的界面,基于MFC的html界面开发网上有很多源码,但是使用WTL开发的网上资源很少。CSDN上有些貌似的资源不过可惜的还是MFC的翻版,让人可恨的是,抄别人的代码,你也改改文件名,函数明吧,你就把别人的代码拿过来删掉全部的注释,然后就说自己开发,垃圾。 这个是我在www.codeproject.com上找到的源码,个人感觉不错,能够让人清晰的知道如何开发html界面,以及c++与javascript的交互(双方面)。 C++桌面程序 扫雷教学 qq_56653589的博客 11-14 785 扫雷游戏制作 桌面程序 Windows桌面程序 C/C++都能学会 没有类 想玩的写可以下载到桌面游玩 为什么选择C++桌面应用开发 jakeboss的博客 07-28 544 框架的选择取决于你的需求和偏好。Qt是一个跨平台的框架,它提供了丰富的GUI组件和工具,适用于开发Windows、Mac和Linux等操作系统上的应用。除了框架本身提供的功能外,还有一些常用的第三方库可以帮助你进行C++桌面应用开发。选择一个适合你的项目需求和技能水平的框架,并学习其相关的文档和教程。对于Qt框架,你可以阅读官方的文档和教程,也可以参考一些在线教程和书籍。然后,你可以使用框架提供的工具和组件来设计应用的用户界面。在代码中,你可以处理用户输入、实现应用的逻辑和功能,并与操作系统进行交互。 教你如何使用 Visual Studio IDE 正确的进行 C++ 桌面开发 weixin_72686492的博客 11-18 9786 在“扩展和更新”对话框下,选择“联机”选项卡并在搜索框中键入“Microsoft Visual Studio 安装程序项目”。点击 Enter,选择”Microsoft Visual Studio””安装程序项目”,然后单击“下载”。在“项目”表的“生成”列下,勾选“游戏安装程序”框。在菜单栏上,选择“文件”>“新建”>“项目”,打开“创建新项目”对话框。如果 Visual Studio 中未显示“解决方案资源管理器”窗口,请在菜单栏上选择“视图”>“解决方案资源管理器”。 c++核心编程和桌面应用开发3.1 1-1c++概述 qq_42865685的博客 04-21 482 c++核心编程和桌面应用开发 c++概述 C/C++ 从零实现一个windows窗口(非常详细) 热门推荐 余识- 04-13 4万+ 主要讲解用C/C++创建一个Windows窗口的全过程,非常详细了........ C++ STL,ATL,WTL之间的联系和区别 cxu123321的博客 07-27 736 C++ STL,ATL,WTL之间的联系和区别 2013年12月05日 16:09:55LoveApp_Han阅读数 15283 STL即 Standard Template Library (标准模板库) STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现... wtl_for_mfc_programmers_cn.zip 最新发布 02-04 wtl_for_mfc_programmers_cn.zip 是一个压缩文件,其中包含了 WTL(Windows 模板库)的相关文件和资源,适用于 MFC(Microsoft Foundation Class)程序员。WTL 是一种基于模板编程的 C++ 框架,旨在简化 Windows 应用程序的开发。 这个压缩文件可能包含 WTL 的库文件、头文件、示例代码、文档等资源,可以帮助 MFC 程序员更轻松地使用 WTL 来开发 Windows 应用程序。通过使用 WTL,程序员可以减少代码量、提高程序的性能和可维护性,同时也可以利用 WTL 的一些特性来更好地处理 Windows GUI 编程。 对于想要深入了解 WTL 或者希望借助 WTL 来提升 Windows 应用程序开发能力的 MFC 程序员来说,wtl_for_mfc_programmers_cn.zip 可能会是一个很有用的资源。他们可以通过研究这个压缩文件中的内容,了解 WTL 的使用方法、最佳实践等,并且可以直接使用这些文件来加快自己的开发进度。 总之,wtl_for_mfc_programmers_cn.zip 对于 MFC 程序员来说是一个有价值的资源,可以帮助他们更好地理解和应用 WTL 框架,提高他们的 Windows 应用程序开发能力。 “相关推荐”对你有帮助么? 非常没帮助 没帮助 一般 有帮助 非常有帮助 提交 Peter(阿斯拉达) CSDN认证博客专家 CSDN认证企业博客 码龄12年 暂无认证 458 原创 1万+ 周排名 2768 总排名 156万+ 访问 等级 1万+ 积分 739 粉丝 330 获赞 243 评论 513 收藏 私信 关注 热门文章 [VS]_[Visual Studio的专业版旗舰版和express之间的区别] 60078 [rapidjson]_[C/C++]_[rapidjson库使用简单介绍] 49196 [项目管理]_[初级]_[TortoiseSVN的使用入门] 22286 [汇编]_[初级]_[VS2010搭建汇编开发环境win32和x64] 22272 [Java]_[初级]_[utf8编码的byte[]数组转换为String时要注意的问题] 20376 分类专栏 GDI+编程日积月累 付费 11篇 C++语言特性和标准库 付费 118篇 ATL/WTL界面开发 53篇 JavaScript语言特性和标准库 6篇 Java语言特性和标准库 14篇 学院-学习资料 9篇 JavaWeb开发实战 23篇 Python-完全自动化 19篇 第三方库-XML处理 8篇 C/C++多线程并发并行 22篇 第三方库-Json处理 2篇 Android-开发详解 11篇 Object-C学习指南 1篇 macOS开发之Cocoa开发 14篇 测试调试 6篇 设计模式 6篇 网络编程 3篇 项目管理 5篇 开发工具 45篇 数学算法 1篇 开源项目 3篇 系统平台 131篇 语言特性 16篇 wxWidgets界面开发库 23篇 最新评论 [wxWidgets]_[初级]_[自定义按钮] lwei2: 多谢楼主帮忙,已解决那个问题了! [wxWidgets]_[初级]_[自定义按钮] lwei2: 好的,多谢楼主了 [wxWidgets]_[初级]_[自定义按钮] Peter(阿斯拉达): 试下这两种 https://blog.csdn.net/infoworld/article/details/39451125 https://blog.csdn.net/infoworld/article/details/17259833 [wxWidgets]_[初级]_[自定义按钮] lwei2: 楼主,请教一下:参考你的思路去写了一个wxToolButton,在正常情况未点击的状态,按钮会把父类的wxPanel背景图片擦除,有什么办法能让它在正常未点击的状态保留其父类的背景图片吗? [wxWidgets]_[初级]_[自绘窗口最小化点击任务栏图标还原的办法] lwei2: 好吧,mac不考虑。不过我看wx官网介绍说它的控件都是很贴近原生控件的。不管是Qt还是wxWidgets兼容也只不过是UI控件上的兼容,很多底层的东西没有办法兼容。我之前就有做过Mac端和windows端的软件,用的是同一套UI,但是底层的东西,都是不一样的,只能去自己兼容。 您愿意向朋友推荐“博客详情页”吗? 强烈不推荐 不推荐 一般般 推荐 强烈推荐 提交 最新文章 [C/C++11]_[WTL/ATL]_[多线程如何无锁更新进度条界面上的描述字符串] [C/C++]_[初级]_[关于输出double浮点数精度的方法] [VisualStudioCode]_[VSCODE]_[C/C++开发环境配置-问题解决和补充] 2024年4篇 2023年19篇 2022年26篇 2021年38篇 2020年42篇 2019年34篇 2018年20篇 2017年34篇 2016年35篇 2015年65篇 2014年79篇 2013年58篇 2012年24篇 目录 目录 分类专栏 GDI+编程日积月累 付费 11篇 C++语言特性和标准库 付费 118篇 ATL/WTL界面开发 53篇 JavaScript语言特性和标准库 6篇 Java语言特性和标准库 14篇 学院-学习资料 9篇 JavaWeb开发实战 23篇 Python-完全自动化 19篇 第三方库-XML处理 8篇 C/C++多线程并发并行 22篇 第三方库-Json处理 2篇 Android-开发详解 11篇 Object-C学习指南 1篇 macOS开发之Cocoa开发 14篇 测试调试 6篇 设计模式 6篇 网络编程 3篇 项目管理 5篇 开发工具 45篇 数学算法 1篇 开源项目 3篇 系统平台 131篇 语言特性 16篇 wxWidgets界面开发库 23篇 目录 评论 被折叠的 条评论 为什么被折叠? 到【灌水乐园】发言 查看更多评论 添加红包 祝福语 请填写红包祝福语或标题 红包数量 个 红包个数最小为10个 红包总金额 元 红包金额最低5元 余额支付 当前余额3.43元 前往充值 > 需支付:10.00元 取消 确定 下一步 知道了 成就一亿技术人! 领取后你会自动成为博主和红包主的粉丝 规则 hope_wisdom 发出的红包 打赏作者 Peter(阿斯拉达) 你的鼓励将是我创作的最大动力 ¥1 ¥2 ¥4 ¥6 ¥10 ¥20 扫码支付:¥1 获取中 扫码支付 您的余额不足,请更换扫码支付或充值 打赏作者 实付元 使用余额支付 点击重新获取 扫码支付 钱包余额 0 抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 余额充值 GitHub - Win32-WTL/WTL: Mirror of Windows Template Library (WTL) Skip to content Toggle navigation Sign in Product Actions Automate any workflow Packages Host and manage packages Security Find and fix vulnerabilities Codespaces Instant dev environments Copilot Write better code with AI Code review Manage code changes Issues Plan and track work Discussions Collaborate outside of code Explore All features Documentation GitHub Skills Blog Solutions For Enterprise Teams Startups Education By Solution CI/CD & Automation DevOps DevSecOps Resources Learning Pathways White papers, Ebooks, Webinars Customer Stories Partners Open Source GitHub Sponsors Fund open source developers The ReadME Project GitHub community articles Repositories Topics Trending Collections Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert Win32-WTL / WTL Public Notifications Fork 16 Star 85 Mirror of Windows Template Library (WTL) wtl.sourceforge.io/ 85 stars 16 forks Branches Tags Activity Star Notifications Code Issues 1 Pull requests 0 Discussions Actions Projects 0 Security Insights Additional navigation options Code Issues Pull requests Discussions Actions Projects Security Insights Win32-WTL/WTL This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. mainBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History7 CommitsAtlServerAtlServer IncludeInclude NotesNotes NuGetNuGet ReleasesReleases SamplesSamples WizardsWizards .gitignore.gitignore README.mdREADME.md View all filesRepository files navigationREADMEWindows Template Library This is a mirror of Windows Template Library (WTL). Official Sites The official repository: SourceForge: WTL The official or project website: WTL Nuget Package The Nuget package: Latest Introduction WTL is a set of classes that extend ATL to support more complex user interfaces for either applications or various UI components, while maintaining the big advantage of ATL - small and fast code. WTL classes were designed to be the best and the easiest way to implement rich Win32 based UI for ATL based applications, servers, components, and controls. WTL provides support for implementing many user interface elements, including the following Frame, dialog and popup windows, Multiple Document Interfaces or MDI, Standard and common controls, Standard and common dialogs, Property sheets and pages, GDI objects, UI updating, Scrollable and Zoomable windows, Splitter windows, Command bars, The WTL classes are mostly templated and use minimal instance data and inline functions. They were not designed as a framework, so they do not force a particular application model, and can accommodate any. The classes do not use hooks or thread local storage, so they have no restrictions that those techniques impose. They also have no inter-dependencies and can be freely mixed with straight SDK code. In summary, WTL delivers very small and efficient code, very close in size and speed to SDK programs, while presenting a more logical, object oriented model to a programmer. Related Resources and Sites Under construction!!! License The sources of WTL are under the MS-PL (or Microsoft Public License). About Mirror of Windows Template Library (WTL) wtl.sourceforge.io/ Topics winapi win32 wtl win32-api win32-cpp Resources Readme Activity Custom properties Stars 85 stars Watchers 5 watching Forks 16 forks Report repository Contributors 2 paulushub Paul Selormey FrankHeimes Dr. Frank Heimes Languages C++ 85.9% HTML 8.6% C 2.6% JavaScript 1.8% CSS 0.8% Makefile 0.2% Other 0.1% Footer © 2024 GitHub, Inc. Footer navigation Terms Privacy Security Status Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. Windows Template Library (WTL) · GitHub
WTL学习笔记——WTL的安装(1)_vs2022 wtl-CSDN博客
>视频教程-使用WTL进行Windows桌面应用开发-第一部-C/C++-CSDN博客
>Windows Template Library (WTL) download | SourceForge.net
[学院]_[WTL]_[Windows的C++桌面应用程序开发]_c++wtl开发-CSDN博客
>GitHub - Win32-WTL/WTL: Mirror of Windows Template Library (WTL)
%����
1 0 obj
<>
endobj
2 0 obj
<>
endobj
3 0 obj
<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 595.32 841.92] /Contents 4 0 R/Group<>/Tabs/S>>
endobj
4 0 obj
<>
stream
x��[moܸ�n��A�ݢV8��i�*�K�k��}����8��K�:����!E���n����kj43��gr�yw~v!��6��V��)�
�<ޝ�����Y}~�b��7�o�Ϡ�4����FCk�j�ߟ� �%�?���}�l��\���lO��'�� �R�,�*�� B6�h5(�/$�;7�������^=��s&��l+�������~����Uk�Q��Yd�.dy�
��5&��Ӗ���j������{� v�Sx���@���}���z��j#k�#[t�n$�p���F��z�r�R��B����y