- 浏览: 370223 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (335)
- C++ (190)
- 设计模式 (43)
- 数据库技术 (5)
- 网络编程 (11)
- 自动化测试 (6)
- Linux (13)
- OpenSSL (10)
- MS Crypt API (5)
- SCM (2)
- English (4)
- Android (10)
- EMV规范 (1)
- Saturn Platform (0)
- C (10)
- SQL (2)
- ASP.NET (3)
- 英语口语学习 (3)
- 调试工具 (21)
- 编译技术 (5)
- UML (1)
- 项目管理 (5)
- 敏捷开发 (2)
- Http Server (6)
- 代码审查、代码分析 (5)
- 面试基础 (10)
- 重点知识 (16)
- STL (6)
- Efficient C++资料 (8)
- 数据结构和算法 (7)
- 读书笔记 (0)
- 开源项目 (4)
- 多线程 (2)
- Console App (6)
- 个人开源项目 (4)
- IBM DevelopWorks (4)
- Java (16)
- 内存泄漏相关调试和检测 (13)
- 软件测试相关技术 (2)
- C# (11)
- Apple Related (1)
- 软件测试和管理 (2)
- EMV (1)
- Python (1)
- Node.js (6)
- JavaScript (5)
- VUE (1)
- Frontend (1)
- Backend (4)
- RESTful API (3)
- Firebase (3)
最新评论
-
u013189503:
来个密码吧
[C++][Logging] 项目中写日志模块的实现 -
wyf_vc:
来个密码啊!!
[C++][Logging] 项目中写日志模块的实现
初识
WTL(
上
)
作者:
orange
1
.前言
虽然
MFC
的功能很强大,但
Windows Template Library(WTL)
的出现,无疑说明了
MFC
有一定的弊病。和
MFC
相比,功能并没有
MFC
完善。比如
MFC
支持
doc/view
架构,而
WTL
并
不支持。同时,
WTL
也没有
Microsoft
的官方支持。但是,
WTL
是基于模版
(template)
的,其应用程序最小只有
24KB
,同时不象
MFC
,依赖
DLL
。但是
WTL
也实现了
CString
、
CRect
、
CSize
、
CPoint
等常用的类,还
CStaticT<TBase>
、
CButtonT<TBase>
、
CListBoxT<TBase>
、
CComboBoxT<TBase>(
这些在
WTL
库文件
atlctrls.h
、
atlctrlw.h
、
atlctrlx.h
中就能看到
)
等
用起来和
MFC
版本也没太大不同。
2
.准备工作
首先安装
WTL AppWizard,
现在最高版本应该是
WTL7.0,
直接运行
setup
脚本文件就可以了
,
这里给大家几个下载地址
:
1) http://www.vckbase.com/tools/listtools.asp?tclsid=111
3) http://www.copathway.com/vchelp/zsrc/wtlm.asp?type_id=70&class_id=1&cata_id=3&article_id=374
这样当你启动
VC6.0
后,
File/New
时,在
Project
属性页就能看到添加了一项
ATL/WTL AppWizard
。你可以直接把
WTL
的库文件
(
共
16
个
.h
文件
)
拷贝到
vc
的安装目录
VC98/Include
中,也可以放到你的工程文件夹中。
3
.应用实例
1---SDI
中状态栏的应用
(1) File/New,
如图:
<!--[if gte vml 1]><v:shape id="_x0000_i1026" type="#_x0000_t75"
alt="" style='width:431.25pt;height:317.25pt'>
<v:imagedata src="file:///C:\DOCUME~1\JACKY_~1\LOCALS~1\Temp\msohtml1\01\clip_image002.gif"
o:href="http://www.vckbase.com/document/journal/vckbase22/images/TestWTL2.gif"/>
</v:shape><![endif]--><!--[if !vml]-->
<!--[endif]-->
(2) OK
后,
SDI(Single Document Interface)
应用程序通常只有一个主窗口
(
通常是一个框架窗口,
Frame Window)
。框架窗口包含菜单、工具栏、状态栏和称为视
(View)
的客户工作区。
Multip-SDI(Multiple Threads SDI)
,就像
IE
浏览器,使用
"
文件
/
新建
/
窗口
"
命令后,会出现另一个
IE
窗口。
MDI(Multiple Document Interface)
应用程序有一个主框架窗口,但有多个子框架窗口。每个子窗口都有自己的视
(View),
和
MFC
的相似。
Dialog
应用程序是基于对话框的。
<!--[if gte vml 1]><v:shape id="_x0000_i1027" type="#_x0000_t75"
alt="" style='width:378pt;height:280.5pt'>
<v:imagedata src="file:///C:\DOCUME~1\JACKY_~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png"
o:href="http://www.vckbase.com/document/journal/vckbase22/images/TestWTL3.gif"/>
</v:shape><![endif]--><!--[if !vml]-->
<!--[endif]-->
(3) Next
<!--[if gte vml 1]><v:shape
id="_x0000_i1028" type="#_x0000_t75" alt="" style='width:378pt;height:4in'>
<v:imagedata src="file:///C:\DOCUME~1\JACKY_~1\LOCALS~1\Temp\msohtml1\01\clip_image005.png"
o:href="http://www.vckbase.com/document/journal/vckbase22/images/TestWTL4.gif"/>
</v:shape><![endif]--><!--[if !vml]-->
<!--[endif]-->
(4)
在产生的文件中可以看到
WTL
确实不支持
Doc/View.
WTL
对单界面线程的封装:
WTL
使用一个
_Module
全局变量来保存全局数据,并通过它来引用应用程序级的代码。在
WTL
中,该变量是
CAppModule
的实例,想象
MFC
的
theApp
。
●
下面对
MyTestWTL.cpp
文件中的函数作一些说明:
Ⅰ
:
int
WINAPI
_tWinMain
(
HINSTANCE
hInstance
,
HINSTANCE
/*hPrevInstance*/
,
LPTSTR
lpstrCmdLine
,
int
nCmdShow
)
{
HRESULT
hRes
=
::
CoInitialize
(
NULL
);
// If you are running on NT 4.0 or higher you can use the
following call instead to
// make the EXE free threaded. This means that calls come
in on a random RPC thread.
// HRESULT hRes = ::CoInitializeEx(NULL,
COINIT_MULTITHREADED);
ATLASSERT
(
SUCCEEDED
(
hRes
));
// this resolves ATL window thunking problem when Microsoft
Layer for Unicode (MSLU) is used
::
DefWindowProc
(
NULL
,
0
,
0
,
<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="l" w:st="on"><span style="color: purple;">0L</span></chmetcnv>);
AtlInitCommonControls
(
ICC_COOL_CLASSES
|
ICC_BAR_CLASSES
);
// add flags
to support other controls
hRes
=
_Module
.
Init
(
NULL
,
hInstance
);
ATLASSERT
(
SUCCEEDED
(
hRes
));
int
nRet
=
Run
(
lpstrCmdLine
,
nCmdShow
);
//
程序逻辑,调用全局函数
Run()
_Module
.
Term
();
//
终止模块
::
CoUninitialize
();
发表评论
-
FreeRTOS
2022-03-05 16:31 248Ref https://blog.csdn.net/weix ... -
串口通讯相关
2018-11-02 13:44 412https://bbs.csdn.net/wap/topics ... -
[转]C++验证IP是否可以PING通
2018-10-30 17:54 1330https://www.cnblogs.com/guoyz13 ... -
C++/MFC 換皮膚
2018-10-20 11:05 477https://blog.csdn.net/u01123991 ... -
WinCE 截屏 - C++ 代碼
2018-08-31 09:45 574// this function create a bmp ... -
Android NDK搭建環境
2017-11-27 13:25 582https://www.cnblogs.com/ut2016- ... -
8583协议相关
2017-10-17 13:38 5738583相关资料,整理中... -
Java高级应用之JNI
2017-06-19 09:00 601参考link http://www.cnblogs.com/l ... -
C++实现ping功能
2017-04-18 11:21 2157基础知识 ping的过程是向目的IP发送一个type=8的I ... -
OpenSSL 编译环境搭建
2017-03-27 15:01 9061 安裝VS2008到 c:\Program Files (x ... -
最优非对称加密填充(OAEP)
2017-03-25 14:53 1582OpenSSL命令---rsautl http://blog. ... -
[Platform Builder] 设置SVM OS build Env
2016-11-10 11:39 01 copy one OSDesign Project to ... -
[Windows] System Error Codes(GetLastError )0-----5999
2016-10-26 13:28 1881ERROR_SUCCESS 0 (0x0) T ... -
开源Windows驱动程序框架
2016-09-17 21:35 871转自 http://code.csdn.net/news/28 ... -
c/c++代码中执行cmd命令
2016-09-14 14:50 1908转自 http://blog.csdn.net/slixinx ... -
C#使用C++标准DLL实例(包含callback)
2016-09-11 19:44 1086C++编写标准Win32DLL如下 头文件 /***** ... -
C#调用C++的DLL搜集整理的所有数据类型转换方式
2016-09-09 16:07 969转自 http://www.cnblogs.com/zeroo ... -
WinCE CPU使用率计算 测试工具
2016-09-08 16:14 991转自 http://blog.csdn.net/jan ... -
switch在C++与C#中的一些差异
2016-09-08 15:19 812参考链接 http://blog.csdn.net/weiwe ... -
C++ 鼠标模拟程序
2016-09-04 12:09 1612转自 http://blog.csdn.net/weixinh ...
相关推荐
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, ...
WTL全称为Window Template Library WTL8.0WTL全称为Window Template Library WTL8.0WTL全称为Window Template Library WTL8.0WTL全称为Window Template Library WTL8.0
Windows Template Library - WTL Version 9.1 (build 5321 final) 2015-11-17。VC++下,COM开发用。
**WTL(Windows Template Library)初学者指南** WTL,全称Windows Template Library,是由Microsoft开发的一个轻量级的C++库,它为构建Windows应用程序提供了底层API接口的封装。对于那些熟悉MFC(Microsoft ...
Extends ATL (Active Template Library) and provides a set of classes for controls, dialogs, frame windows, GDI objects, and more. This version provides support for Windows Vista, Visual Studio 2005, ...
Windows Template Library - WTL Version 9.1 (build 5270) 2015-09-27 Windows模板库 - WTL Version 9.1 (build 5270) 2015-09-27 (水平有限,不足之处,欢迎指正交流:ybmj@vip.163.com) ________________________...
**Windows Template Library (WTL) 是微软开发的一个轻量级库,主要用于构建高效、小巧的Windows应用程序。这个“WTL学习资料中文版(经典入门)”是为那些已有MFC(Microsoft Foundation Classes)基础的程序员设计...
**Windows Template Library (WTL)** 是一个轻量级的C++库,由Microsoft开发,用于构建Windows应用程序。WTL是ATL(Active Template Library)的一个扩展,它为开发者提供了构建高效、小型桌面应用程序的框架。ATL...
WTL是基于ATL的对Win32界面API的再封装,相比MFC,WTL更加小巧。
Windows Template Library(WTL)是Microsoft提供的一种C++库,用于构建轻量级、高效的Windows应用程序。这个资源,"wtl中文教程和示例代码",显然是为了帮助开发者理解和掌握WTL库,尤其是针对那些已经熟悉MFC...
WTL,全称为Windows Template Library,是微软提供的一种轻量级的C++库,用于构建Windows应用程序。这个库是基于ATL(Active Template Library)构建的,它简化了UI开发,使得开发者能够快速创建高效、小巧的应用...
Windows Template Library(WTL)是微软提供的一种C++库,用于构建轻量级、高效的Windows应用程序。...通过阅读这份中文学习资料,你可以逐步掌握WTL的核心概念和技术,从而提升你的Windows编程能力。
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, ...
ATL(Active Template Library)和WTL(Windows Template Library)是Microsoft开发的C++库,主要用于简化Windows应用程序的开发,尤其是用户界面(UI)部分。这两个库都是基于模板的轻量级框架,提供了对COM...
**Windows Template Library (WTL) 指南与 WTL7.1** Windows Template Library (WTL) 是一个轻量级的C++库,由Microsoft开发,用于构建Windows应用程序。WTL是MFC(Microsoft Foundation Classes)的一个替代方案,...
Windows Template Library - WTL Version 9.1 (build 5321 final) 2015-11-17 Windows模板库WTL 9.1(build 5321 final)2015-11-17 (水平有限,不足之处,欢迎指正交流:ybmj@vip.163.com) ______________________...
WTL(Windows Template Library)是一个轻量级的C++库,用于简化基于Win32 API的应用程序开发。相比于MFC等其他框架,WTL更注重性能和代码效率。接下来,我们将详细分析WTL框架中的窗口管理机制: 1. **窗口类注册*...
**WTL**(Windows Template Library)是一种基于模板的轻量级库,旨在为Windows应用程序开发提供一种高效且资源占用低的解决方案。相较于MFC(Microsoft Foundation Classes),WTL在减少可执行文件大小的同时,保持...
5. **书籍**:尽管WTL的书籍不多,但有一些经典的著作,如《Professional Windows Template Library》等,深入讲解了WTL的使用和原理,对于系统学习非常有帮助。 6. **源码分析**:分析WTL库本身的源码也是一个很好...