wtl,9到10版的改进
ATL/WTL
应用向导
ATL/WTL
应用向导产生WTL
应用的起始程序
.可选择为不同的应用
类型和功能
创建代码.
可选择下列选项:
1,应用类型(SDI
,多线程SDI
,MDI,TabView
,资管,对话框)
2,支持ActiveX
控件
3,COM
服务器
4,用.CPP
文件实现类
5,常见控件清单
6,Unicode
字符集
7,工具栏,钢筋,命令栏,状态栏
8,视图窗口及其类型(一般,对话框形式,或清单框,编辑,列视,树视,RichEdit,HTML
页面,滚动窗口)
9,对基于
对话框应用
或基于窗体
的视图窗口,支持对话框中托管ActiveX
控件
ATL/WTL
应用向导支持VC++2005,2008,2010,2012,2013,2015,2017
和2019
.
如何在MFC
项目中使用WTL
如果要在MFC
项目中使用WTL
,则需要在包含atlapp.h
之前放以下两行:
namespace ATL { using ::CString; };
#define _WTL_NO_AUTOMATIC_NAMESPACE
第一行告诉WTL
使用全局
名空间中的CString
,因为CString
在MFC
中是这样定义的.第二行防止WTL
和MFC
之间的名冲突.请显式使用WTL
命名空间前缀.
WTL
历史记录
WTL10
为2020
发布.
WTL10
和9.1
之间的变更
新的和改进的:
1,与VS2017
和VS2019
完全兼容
2,完全符合C++
标准,并支持用/permissive-flag
编译
3,完整支持严格
常限定一致性(/Zc:strictStrings)
4,对存储在注册表
中的属性
,CRegProperty
和CRegPropertyImpl<>
新类
5,新类:CSimpleFileDialog
修复了不使用OFN_ENABLEHOOK
的常见对话框
6,添加了对MFC
动态对话框布局
资源格式支持
应用向导:
1,添加了对VS2017
和VS2019
的支持
2,删除了清单
(始终有)和Unicode
(始终打开
)的选项
3,添加了WinXP
支持选项
4,添加了_NO_AUTOMATIC_NAMESPACE
的支持
修复和增强功能:
一般:
1,添加了AtlGetStringPtr()
函数,取只读
资源串指针
2,更改CMessageLoop::IsIdleMessage()
为虚
的,因此可在继承类
中重写它
3,为模板化类
添加了DECLARE_FRAME_WND_CLASS2(),DECLARE_FRAME_WND_CLASS_EX2()
和DECLARE_FRAME_WND_SUPERCLASS2()
,并对CFrameWindowImplBase
使用了DECLARE_FRAME_WND_CLASS2()
.
4,为避免WS_CLIPCHILDREN
和WS_CLIPSIBLINGS
出现绘画问题,对对话框控件添加了新的窗口特征:CMemDlgTemplateT
.
5,CWindowEx
:对仅对话框消息添加方法
6,修复#315
错误.如果不使用versionhelpers.h
,WTL::RunTimeHelper::IsWin7
在窗口10
上工作错误
7,修复#300
错误,在CZoomScrollWindowImpl
中设置SetZoomMode(ZOOMMODE_IN)
时出现的错误
8,修复了错误#298
,InitDialogBaseUnits
按值取LOGFONT
9,修复CResource::LoadEx()
,::FindResourceEx()
的参数顺序错误
10,修复C4555
警告:用BEGIN_MSG_MAP_EX
和BEGIN_DDX_MAP
时,表达式无效
11,修复#266
错误,高dpi
环境加载图标
12,修复了#319
错误,atlprint.h
中DEVNAMES
结构中的错误偏移
示例:
针对WTL10
了更新,重命名
了项目文件以指示VS
版本,代码和文件清理
控件:
1,添加了CListViewCtrl::选择所有项目(SelectAllItems)()
2,改进了CListViewCtrl::SelectItem()
来调用SetSelectionMark()
并删除所选
3,添加了CListViewCtrl::Scroll()
的另一个变量
4,修复了#321
错误,TreeView
的GetNextSelected()
方法缺少HTREEITEM
参数
5,为窗口10.0.17763
中添加的新编辑
消息添加了CEdit
方法
6,CRichEditCtrl
:添加了缺少的GetTypographyOptions()
和SetTypographyOptions()
7,添加了CMultiPaneStatusBarCtrlImpl::GetPaneText()
的CString
变量
8,修复了#268
错误,CImageListManaged
,在使用attach
或operator=
时抛ATL
断定
分割器:
1,C分割器实现
:增加了m_nPropMax
来处理超高
分辨率
2,C分割器窗口实现
:添加了新的"平"分隔栏
绘画风格
3,对C分割器窗口T
,用DECLARE_WND_CLASS_EX2()
选项卡视图(TabView):
1,拖动选项卡
时,添加了自动滚动
来重定位
2,扩展拖动区域
至CTabViewImpl
的整个工作区
3,对选项卡
添加了悬停
关闭按钮
4,SetActivePage()
,仅在主窗口活动状态
时设置焦点
5,OnTabContextMenu()
来传递正确
选项卡项给OnContextMenu()
.
6,CTabViewImpl
:用带TRUE/FALSE
的显示窗口(ShowWindow)()
,而不是SW_SHOW/SW_HIDE
.
Ribbon
1,修复#317
错误,SpinnerCtrlImpl
无法更新串属性
2,不要使用模板函数
的函数指针
已破解
的处理器
1,添加了MSG_WM_NCMOUSEHOVER()
和MSG_WM_NCMOUSELEAVE()
2,添加了MSG_WM_GESTURE,MSG_WM_GESTURENOTIFY,MSG_WM_DPICHANGED,MSG_WM_APPCOMMAND
消息.
3,修复了#322
错误,atlcrack.h
中MSG_WM_MDIACTIVATE
注释中错误签名
4,修复了#302
错误,MSG_WM_WTSSESSION_CHANGE
,应将lParam
作为会话ID
5,修复了MSG_WM_XBUTTONDOWN
与MSDN
不一致的#284
错误.
6,修复错误#286
,MSG_WM_KEYDOWN
破解wParam
为TCHAR
,应为虚键
.
Clang
相关修复:
1,使用C++
风格而不是C风格结构初化
2,删除多余的分号
3,在switch
语句中为隐式直降
加注释
应用向导:
1,已从视图
文件中删除
项目名和类名
2,修复了模式对话框项目x64
中不同类型的警告
3,改进了Setup.js
来处理VS2017
和VS2019
的多个安装
4,Setup.js
修复了VS2019
社区版安装程序
中,未创建vcprojects
目录的问题
5,删除了VS2017
及更高版本中已弃用的MinimalRebuild
编译器选项
删除的旧功能:
1,已删除对旧版VS
和旧版SDK
的支持
2,删除了对WinCE
(和AppWizardCE
)的支持
3,删除了对_ATL_MIN_CRT
和MinCrtHelper
的使用支持
4,删除了CPoint/CSize/CRect/CString
的WTL
实现(使用ATL
)
5,删除了_WTYPES_NS
和_CSTRING_NS
的使用
6,始终定义_WTL_NEW_PAGE_NOTIFY_HANDLERS
(添加了_WTL_FORCE_OLD_PAGE_NOTIFY_HANDLERS
来关闭它)
7,删除了对_ATL_NO_OLD_NAMES,_ATL_USE_NEW_PRINTER_INFO,_ATL_NO_COM
的使用
8,删除了_ATL_USE_CSTRING_FLOAT
和_ATL_USE_DDX_FLOAT
(始终使用浮点型
)
9,删除了_ATL_NO_MSIMG
的使用
10,删除了对RichEdit1.0
的支持
11,atlfind.h
:删除了阴影缓冲区
,并添加了警告/断定
.
12,删除了_TrackMouseEvent()
的使用,并直接使用TrackMouseEvent()
.
13,删除了CregKeyEx
的使用(不再需要)
14,删除了对_SECURE_ATL
的支持和SecureHelper
函数的使用(现在始终
是安全
的)
15,始终使用主题,将uxtheme.h
和uxtheme.lib
移至atlapp.h
.
16,删除了AtlIsOldWindows()
.
应用向导:
1,已删除对旧版VS
和VC++
学习版的支持
2,删除了过时
内容及其注释
重命名文件为WTL10AppWiz.*
.
wtl,9到10版的改进相关推荐
- 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读
前 言 致读者 本书是按照Java SE 8完全更新后的<Java核心技术 卷Ⅱ 高级特性(原书第10版)>.卷Ⅰ主要介绍了Java语言的一些关键特性:而本卷主要介绍编程人员进行专业软件开 ...
- Java核心卷Ⅱ(原书第10版)笔记(上)
Java核心卷Ⅱ(原书第10版)笔记(上) 写在最前面,个人认为,卷Ⅱ更适合当手册使用,更多的是讲API的使用,前两章内容比较实际,要是合并到卷一就好了. 文章目录 第1章 Java SE 8 的流库 ...
- linux和aida64,AIDA64 6.10版上线:支持中国兆芯
据了解,硬件识别工具领域的老大AIDA64当前迎来最新6.10正式版,支持中国兆芯.海光两大x86架构CPU处理器.在此之前,CPU-Z 1.89软件.Linux 5.3系统内核均已支持兆芯CPU,& ...
- 支持兆芯cpu的linux,AIDA64 6.10版发布:全面支持中国兆芯、海光x86 CPU
作为硬件识别工具领域的杠把子,AIDA64今天发布了最新的6.10正式版,全面支持中国兆芯.海光两大x86架构CPU处理器. 在此之前,CPU-Z 1.89软件.Linux 5.3系统内核均已支持兆芯 ...
- Java语言程序设计基础篇-第10版-第一部分-程序设计基础)
Java程序语言设计(基础篇)-第10版 第一部分 程序设计基础 第1章 计算机.程序和Java概述 1.1 引言 程序设计就是创建(或者开发)软件,软件也称为程序. 简言之,软件包含了指令,告诉计算 ...
- 闪游浏览器 0.8 发布,超强地址栏增强等10多项改进
Vista之家(www.vista123.com):闪游浏览器 0.8 发布,超强地址栏增强等10多项改进 自从0.7发布以来已经过去一个月了,久违了大家 :) 在情人节这天发布的闪游浏览器0.8相信 ...
- linux amd显卡下载,下载:AMD显卡Linux催化剂驱动9.10版
AMD昨天就发布了9.10版本的linux驱动,只是无法下载,更新说明也是无法查看.今天一切恢复正常,迫不及待的打开更新说明后发现9.10还是有一些亮点的. 新特性方面: 增加对Ubuntu 9.10 ...
- Windows 10版星巴克应用现身官网
据外媒报道,星巴克承诺为Windows手机开发一款软件已经有好几月的时间了.该家公司最先则是在今年3月份宣布了该消息,当时表示会在未来30到45天时间内推出,然而并没有.到了6月份,星巴克方面又表示, ...
- Java程序设计语言(基础篇)机械工业出版社 原属第10版
链接:https://pan.baidu.com/s/1txoB3sk0SdT1u8RpS2x-Kg 提取码:rxkd Java程序设计语言(基础篇)机械工业出版社 原属第10版 外加一本Java ...
- matlab面向对象多态性,MATLAB面向对象程序设计10版.pptx
MATLAB面向对象程序设计10版.pptx MATLAB面向对象程序设计;第1章 绪言;1.1如何学会一门编程语言;1.2做笔记的方法;第2章 MATLAB基础知识;MATLAB的help文档;Ma ...
最新文章
- 配置bind主域名服务器
- 用GDB调试程序(六)
- .net .toString() 金额数据转换
- vue怎么插入接口demo_vue项目如何设置接口
- jdbc连接oracle_Oracle数据库性能监控|使用SiteScope 监控Oracle
- React-Native组件之Text内文字垂直居中方案
- python内置函数__init__及__str__的区别
- android ant build.xml实例
- Julia: Dict中元素的顺序:是无序的!
- python 给数组修改值_DAY2-step4 Python数组:创建,追加,弹出,反转示例
- 《多媒体技术与应用》知识点整理
- 前端如何实现整套视频直播技术流程
- MarkDown 和LaTex语法学习(基于软件Typora)
- 数学边界(数学萌芽、初等数学、高等数学)
- python免费全套教程400集视频-如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握...
- 2018年Android面试题含答案--适合中高级(上)
- linux 更新etc profile,讲解Linux系统中修改/etc/profile文件的方法
- Linux下通过vi修改只读文件
- java 视频边下边播,VideoViewDemo android 播放器,支持边下边播 238万源代码下载- www.pudn.com...
- ecshop 评价仿京东仿淘宝 中评率 好评率 差评率