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,20172019.

如何在MFC项目中使用WTL

如果要在MFC项目中使用WTL,则需要在包含atlapp.h之前放以下两行:

namespace ATL { using ::CString; };
#define _WTL_NO_AUTOMATIC_NAMESPACE

第一行告诉WTL使用全局名空间中的CString,因为CStringMFC中是这样定义的.第二行防止WTLMFC之间的名冲突.请显式使用WTL命名空间前缀.

WTL历史记录

WTL102020发布.

WTL109.1之间的变更

新的和改进的:

1,与VS2017VS2019完全兼容
2,完全符合C++标准,并支持用/permissive-flag编译
3,完整支持严格常限定一致性(/Zc:strictStrings)
4,对存储在注册表中的属性,CRegPropertyCRegPropertyImpl<>新类
5,新类:CSimpleFileDialog修复了不使用OFN_ENABLEHOOK的常见对话框
6,添加了对MFC动态对话框布局资源格式支持

应用向导:

1,添加了对VS2017VS2019的支持
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_CLIPCHILDRENWS_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_EXBEGIN_DDX_MAP时,表达式无效
11,修复#266错误,高dpi环境加载图标
12,修复了#319错误,atlprint.hDEVNAMES结构中的错误偏移

示例:

针对WTL10了更新,重命名了项目文件以指示VS版本,代码和文件清理

控件:

1,添加了CListViewCtrl::选择所有项目(SelectAllItems)()
2,改进了CListViewCtrl::SelectItem()来调用SetSelectionMark()并删除所选
3,添加了CListViewCtrl::Scroll()的另一个变量
4,修复了#321错误,TreeViewGetNextSelected()方法缺少HTREEITEM参数
5,为窗口10.0.17763中添加的新编辑消息添加了CEdit方法
6,CRichEditCtrl:添加了缺少的GetTypographyOptions()SetTypographyOptions()
7,添加了CMultiPaneStatusBarCtrlImpl::GetPaneText()CString变量
8,修复了#268错误,CImageListManaged,在使用attachoperator=时抛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.hMSG_WM_MDIACTIVATE注释中错误签名
4,修复了#302错误,MSG_WM_WTSSESSION_CHANGE,应将lParam作为会话ID
5,修复了MSG_WM_XBUTTONDOWNMSDN不一致的#284错误.
6,修复错误#286,MSG_WM_KEYDOWN破解wParamTCHAR,应为虚键.

Clang相关修复:

1,使用C++风格而不是C风格结构初化
2,删除多余的分号
3,在switch语句中为隐式直降加注释

应用向导:

1,已从视图文件中删除项目名和类名
2,修复了模式对话框项目x64中不同类型的警告
3,改进了Setup.js来处理VS2017VS2019的多个安装
4,Setup.js修复了VS2019社区版安装程序中,未创建vcprojects目录的问题
5,删除了VS2017及更高版本中已弃用的MinimalRebuild编译器选项

删除的旧功能:

1,已删除对旧版VS和旧版SDK的支持
2,删除了对WinCE(和AppWizardCE)的支持
3,删除了对_ATL_MIN_CRTMinCrtHelper的使用支持
4,删除了CPoint/CSize/CRect/CStringWTL实现(使用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.huxtheme.lib移至atlapp.h.
16,删除了AtlIsOldWindows().

应用向导:

1,已删除对旧版VSVC++学习版的支持
2,删除了过时内容及其注释
重命名文件为WTL10AppWiz.*.

wtl,9到10版的改进相关推荐

  1. 《Java核心技术 卷Ⅱ 高级特性(原书第10版)》一导读

    前 言 致读者 本书是按照Java SE 8完全更新后的<Java核心技术 卷Ⅱ 高级特性(原书第10版)>.卷Ⅰ主要介绍了Java语言的一些关键特性:而本卷主要介绍编程人员进行专业软件开 ...

  2. Java核心卷Ⅱ(原书第10版)笔记(上)

    Java核心卷Ⅱ(原书第10版)笔记(上) 写在最前面,个人认为,卷Ⅱ更适合当手册使用,更多的是讲API的使用,前两章内容比较实际,要是合并到卷一就好了. 文章目录 第1章 Java SE 8 的流库 ...

  3. linux和aida64,AIDA64 6.10版上线:支持中国兆芯

    据了解,硬件识别工具领域的老大AIDA64当前迎来最新6.10正式版,支持中国兆芯.海光两大x86架构CPU处理器.在此之前,CPU-Z 1.89软件.Linux 5.3系统内核均已支持兆芯CPU,& ...

  4. 支持兆芯cpu的linux,AIDA64 6.10版发布:全面支持中国兆芯、海光x86 CPU

    作为硬件识别工具领域的杠把子,AIDA64今天发布了最新的6.10正式版,全面支持中国兆芯.海光两大x86架构CPU处理器. 在此之前,CPU-Z 1.89软件.Linux 5.3系统内核均已支持兆芯 ...

  5. Java语言程序设计基础篇-第10版-第一部分-程序设计基础)

    Java程序语言设计(基础篇)-第10版 第一部分 程序设计基础 第1章 计算机.程序和Java概述 1.1 引言 程序设计就是创建(或者开发)软件,软件也称为程序. 简言之,软件包含了指令,告诉计算 ...

  6. 闪游浏览器 0.8 发布,超强地址栏增强等10多项改进

    Vista之家(www.vista123.com):闪游浏览器 0.8 发布,超强地址栏增强等10多项改进 自从0.7发布以来已经过去一个月了,久违了大家 :) 在情人节这天发布的闪游浏览器0.8相信 ...

  7. linux amd显卡下载,下载:AMD显卡Linux催化剂驱动9.10版

    AMD昨天就发布了9.10版本的linux驱动,只是无法下载,更新说明也是无法查看.今天一切恢复正常,迫不及待的打开更新说明后发现9.10还是有一些亮点的. 新特性方面: 增加对Ubuntu 9.10 ...

  8. Windows 10版星巴克应用现身官网

    据外媒报道,星巴克承诺为Windows手机开发一款软件已经有好几月的时间了.该家公司最先则是在今年3月份宣布了该消息,当时表示会在未来30到45天时间内推出,然而并没有.到了6月份,星巴克方面又表示, ...

  9. Java程序设计语言(基础篇)机械工业出版社 原属第10版

    链接:https://pan.baidu.com/s/1txoB3sk0SdT1u8RpS2x-Kg  提取码:rxkd  Java程序设计语言(基础篇)机械工业出版社 原属第10版 外加一本Java ...

  10. matlab面向对象多态性,MATLAB面向对象程序设计10版.pptx

    MATLAB面向对象程序设计10版.pptx MATLAB面向对象程序设计;第1章 绪言;1.1如何学会一门编程语言;1.2做笔记的方法;第2章 MATLAB基础知识;MATLAB的help文档;Ma ...

最新文章

  1. 配置bind主域名服务器
  2. 用GDB调试程序(六)
  3. .net .toString() 金额数据转换
  4. vue怎么插入接口demo_vue项目如何设置接口
  5. jdbc连接oracle_Oracle数据库性能监控|使用SiteScope 监控Oracle
  6. React-Native组件之Text内文字垂直居中方案
  7. python内置函数__init__及__str__的区别
  8. android ant build.xml实例
  9. Julia: Dict中元素的顺序:是无序的!
  10. python 给数组修改值_DAY2-step4 Python数组:创建,追加,弹出,反转示例
  11. 《多媒体技术与应用》知识点整理
  12. 前端如何实现整套视频直播技术流程
  13. MarkDown 和LaTex语法学习(基于软件Typora)
  14. 数学边界(数学萌芽、初等数学、高等数学)
  15. python免费全套教程400集视频-如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握...
  16. 2018年Android面试题含答案--适合中高级(上)
  17. linux 更新etc profile,讲解Linux系统中修改/etc/profile文件的方法
  18. Linux下通过vi修改只读文件
  19. java 视频边下边播,VideoViewDemo android 播放器,支持边下边播 238万源代码下载- www.pudn.com...
  20. ecshop 评价仿京东仿淘宝 中评率 好评率 差评率

热门文章

  1. [工具] 小白如何修改解包打包system.img
  2. WindowsCMD配置代理
  3. Win8下IE10安装Flex调试flashpalyer控件失败的解决办法
  4. 巧妙的位运算及模运算
  5. spring boot基于Java的电影院售票与管理系统毕业设计源码011449
  6. 用 mkcert 搭建本地开发受信 HTTPS 证书环境
  7. Typecho中handsome主题如何增加侧边导航栏
  8. VB程序启动后如何在通知区域显示
  9. 中国电信CTWAP和CTNET已经融合
  10. 推荐一个ITSM功能系统架构图给大家