WTL9.0の変更-atlapp.h



Wtl 9 0 Changes Atlapp



9.0.4140へのWTLアップデートは突然それを見つけました、彼らは8.1.12085を比較しました。

atlapp.hを見てください。大きな変更があります。



61行目:

#if defined(_SYSINFOAPI_H_) && defined(NOT_BUILD_WINDOWS_DEPRECATE) && (_WIN32_WINNT >= 0x0501) #include #endif

XPだけでなく、システム上でもVersionHelpers.hを使用して、Windowsのバージョンを判別するためのより便利なツール関数をいくつか使用できます。は廃止されたVC2013コンパイル時であるため、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

これらは3つの新しい関数です。コメントを参照してください。クラスのサブクラスです。具体的な用途はわかりません。 WTL作者のメモは、実際には間違いです。