忽然发现WTL更新到9.0.4140了,便对比了一下 8.1.12085。

先看看atlapp.h中有什么大的变动。

第61行:

#if defined(_SYSINFOAPI_H_) && defined(NOT_BUILD_WINDOWS_DEPRECATE) && (_WIN32_WINNT >= 0x0501)
#include <VersionHelpers.h>
#endif

  XP以及上的系统可以用 VersionHelpers.h中一些更方便的工具函数来判断windows版本了,例如:IsWindowsXPOrGreater()、IsWindowsXPSP3OrGreater()、IsWindows8OrGreater(),同时VC2013编译时也会警告GetVersionEx等API已经过时,所以WTL 9引入了这些新API,并改写之前WTL版本,如:

	inline bool IsVista()
{
#ifdef _versionhelpers_H_INCLUDED_
return ::IsWindowsVistaOrGreater();
#else // !_versionhelpers_H_INCLUDED_
OSVERSIONINFO ovi = { sizeof(OSVERSIONINFO) };
BOOL bRet = ::GetVersionEx(&ovi);
return ((bRet != FALSE) && (ovi.dwMajorVersion >= 6));
#endif // _versionhelpers_H_INCLUDED_
}

  

	inline bool IsWin7()
{
#ifdef _versionhelpers_H_INCLUDED_
return ::IsWindows7OrGreater();
#else // !_versionhelpers_H_INCLUDED_
OSVERSIONINFO ovi = { sizeof(OSVERSIONINFO) };
BOOL bRet = ::GetVersionEx(&ovi);
return ((bRet != FALSE) && (ovi.dwMajorVersion == 6) && (ovi.dwMinorVersion >= 1));
#endif // _versionhelpers_H_INCLUDED_
}

  

第1165行:

// GenericWndClass - generic window class usable for subclassing

// Use in dialog templates to specify a placeholder to be subclassed
// Specify as a custom control with class name WTL_GenericWindow
// Call Rregister() before creating dialog (for example, in WinMain)
namespace GenericWndClass
{
inline LPCTSTR GetName()
{
return _T("WTL_GenericWindow");
} inline ATOM Register()
{
WNDCLASSEX wc = { sizeof(WNDCLASSEX) };
wc.lpfnWndProc = ::DefWindowProc;
wc.hInstance = ModuleHelper::GetModuleInstance();
wc.hCursor = ::LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.lpszClassName = GetName();
ATOM atom = ::RegisterClassEx(&wc);
ATLASSERT(atom != 0);
return atom;
} inline BOOL Unregister() // only needed for DLLs or tmp use
{
return ::UnregisterClass(GetName(), ModuleHelper::GetModuleInstance());
}
}; // namespace GenericWndClass

  这是三个新增的函数,看注释知道,是用于subclass之类的,还没看到具体该怎样用。注释里WTL作者居然写错字了,嘿嘿。

最新文章

  1. Linux初识二
  2. android用讯飞实现TTS语音合成 实现中文版
  3. Java魔法堂:类加载器入了个门
  4. 浅谈TabLayout(ViewPager+Tab联动)
  5. 常见概率组合题目总结quickstart
  6. 使用innerHTML生成的script节点不会发出请求与执行text属性
  7. 一.CSS工作原理
  8. Android开发之ListView-SimpleAdapter的使用
  9. [置顶] UNIX常用命令
  10. Words to Use Instead of &quot;Very&quot;
  11. MySQL 8.0常见问题
  12. LINUX 查看当前系统的内存使用情况 free
  13. Linux中OBS在Wayland环境下黑屏只显示鼠标的应对措施
  14. MT【205】寻找对称中心
  15. pom.xml将jar包导入
  16. 【bzoj3132】 Sdoi2013—森林
  17. Java Dom对XML的解析和修改操作
  18. java服务端json结果集传值给前端的数据输出格式
  19. Eclipse的Java开发中jar导入后无法使用包内class的解决方案
  20. Android-自定义RadioButton

热门文章

  1. 编译安装php-fpm5.6 (centos 7)
  2. 【转】python中numpy模块下的np.clip()的用法
  3. 责任链模式Scala的7种实现
  4. 前端三大主流框架的对比React、Vue、Angular
  5. 使用JDBC连接MySQL数据库操作增删改查
  6. SQL --------------- order by 排序
  7. OCC与MVCC 的区别
  8. 并行 Webclient(一)
  9. chrome(谷歌)浏览器字体发虚解决办法
  10. Haskell路线