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()
1,拖动选项卡
时,添加了自动滚动
来重定位
2,扩展拖动区域
至CTabViewImpl
的整个工作区
3,对选项卡
添加了悬停
关闭按钮
4,SetActivePage()
,仅在主窗口活动状态
时设置焦点
5,OnTabContextMenu()
来传递正确
选项卡项给OnContextMenu()
.
6,CTabViewImpl
:用带TRUE/FALSE
的显示窗口(ShowWindow)()
,而不是SW_SHOW/SW_HIDE
.
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.*
.
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网页题目:wtl,9到10版的改进-创新互联
文章链接:http://pwwzsj.com/article/dggcji.html