diff options
author | initial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-07-26 23:55:29 +0000 |
---|---|---|
committer | initial.commit <initial.commit@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-07-26 23:55:29 +0000 |
commit | 09911bf300f1a419907a9412154760efd0b7abc3 (patch) | |
tree | f131325fb4e2ad12c6d3504ab75b16dd92facfed /chrome/third_party/wtl/readme.htm | |
parent | 586acc5fe142f498261f52c66862fa417c3d52d2 (diff) | |
download | chromium_src-09911bf300f1a419907a9412154760efd0b7abc3.zip chromium_src-09911bf300f1a419907a9412154760efd0b7abc3.tar.gz chromium_src-09911bf300f1a419907a9412154760efd0b7abc3.tar.bz2 |
Add chrome to the repository.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/third_party/wtl/readme.htm')
-rw-r--r-- | chrome/third_party/wtl/readme.htm | 3336 |
1 files changed, 3336 insertions, 0 deletions
diff --git a/chrome/third_party/wtl/readme.htm b/chrome/third_party/wtl/readme.htm new file mode 100644 index 0000000..f48f77b --- /dev/null +++ b/chrome/third_party/wtl/readme.htm @@ -0,0 +1,3336 @@ +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> +<title>Windows Template Library</title> +<style type="text/css"> +.style1 { + font-family: Arial; + font-weight: bold; + font-size: x-small; +} +.style2 { + font-family: Arial; + font-size: x-small; +} +.style3 { + text-align: right; +} +</style> +</head> + +<body> + +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber3"> + <tr> + <td class="style3"> + <p style="text-align: left"><font face="Arial"><b>Windows Template Library - WTL Version 8.0</b></font><font face="Arial" size="2"> + (build 7161) 6/10/07</font></td> + </tr> + <tr> + <td><hr></td> + </tr> + <tr> + <td><font face="Arial" size="2">Copyright © 2007 Microsoft Corporation. +All rights reserved.</font></td> + </tr> + <tr> + <td> </td> + </tr> + <tr> + <td><font face="Arial" size="2">This file is a part of the Windows Template + Library.<br> + The use and distribution terms for this software are covered by the<br> + Microsoft Permissive License (Ms-PL) which can be found in the file<br> + Ms-PL.txt at the root of this distribution.</font></td> + </tr> + <tr> + <td><hr></td> + </tr> +</table> + +<p style=margin:0in> </p> + +<p style=margin:0in> </p> + +<p style=margin:0in><font face="Arial" size="2">Welcome to the Windows Template Library, version +8.0. This document contains the following topics:</font></p> +<p style=margin:0in> </p> +<ul style="margin-top:0in;margin-bottom:0in"> + <li><font face="Arial" size="2"><a href="#Introduction">Introduction</a></font></li> + <li><font face="Arial" size="2"><a href="#Features And Installation">Features + And Installation</a></font></li> + <li><font face="Arial" size="2"><a href="#Packing List">Packing List</a></font></li> + <li><font face="Arial" size="2"><a href="#Class Overview">Class Overview</a></font></li> + <li><font face="Arial" size="2"><a href="#ATL/WTL AppWizard">ATL/WTL AppWizard</a></font></li> + <li><a href="#Support for Windows CE"><font face="Arial" size="2">S</font></a><font face="Arial" size="2"><a href="#Support for Windows CE">upport + for Windows CE</a></font></li> + <li><font face="Arial" size="2"> + <a href="#Support for Visual C++ 2005 Express">Support for Visual C++ 2005 + Express</a></font></li> + <li><font face="Arial" size="2"><a href="#Notes">Notes</a></font></li> + <li><font face="Arial" size="2"><a href="#Changes Between WTL 8.0 And 7.5">Changes Between WTL + 8.0 And 7.5</a></font></li> + <li><font face="Arial" size="2"><a href="#Changes Between WTL 7.5 And 7.1">Changes Between WTL 7.5 And 7.1</a></font></li> + <li><font face="Arial" size="2"><a href="#Changes Between WTL 7.1 And 7.0">Changes Between WTL + 7.1 And 7.0</a></font></li> + <li><font face="Arial" size="2"><a href="#Changes Between WTL 7.0 And 3.1">Changes Between WTL + 7.0 And 3.1</a></font></li> + <li><font face="Arial" size="2"><a href="#Changes Between WTL 3.1 And 3.0">Changes Between WTL 3.1 And 3.0</a></font></li> +</ul> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial"> +<b><a name="Introduction"></a>Introduction</b></font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Windows Template Library, or WTL, is a set of +classes that extend ATL to support more complex user interfaces for either +applications or various UI components, while maintaining the big advantage of +ATL - small and fast code. WTL classes were designed to be the best and the +easiest way to implement rich Win32 based UI for ATL based applications, +servers, components, and controls.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">WTL provides support for implementing +many +user interface elements, from frame and popup windows, to MDI, standard and +common controls, common dialogs, property sheets and pages, GDI objects, UI +updating, scrollable windows, splitter windows, command bars, etc. The WTL +classes are mostly templated and use minimal instance data and inline functions. +They were not designed as a framework, so they do not force a particular +application model, and can accommodate any. The classes do not use hooks or +thread local storage, so they have no restrictions that those techniques impose. +They also have no inter-dependencies and can be freely mixed with straight SDK +code. In summary, WTL delivers very small and efficient code, very close in size +and speed to SDK programs, while presenting a more logical, object oriented +model to a programmer.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial"> +<b><a name="Features And Installation"></a>Features And Installation</b></font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">This is the sixth public release +of WTL, after WTL 3.0, 3.1, 7.0, 7.1, and 7.5. It is also the second release of WTL +under the open license, enabling developers from the WTL community to +contribute to the library.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">WTL classes can be used with either VC++ 6.0 and ATL 3.0, VC++ .NET +2002 and ATL 7.0, VC++ .NET 2003 and ATL 7.1, VC++ 2005 with ATL 8.0, or EVC++ 4.0 or 3.0 with ATL for +Windows CE. AppWizard for VC++ .NET 2002 and 2003, and Visual C++ 2005 is +included.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">The WTL classes are provided in +header files located in the include directory. The only header files that must +be included is atlapp.h, while others can be used when needed. The name of the +file doesn't mean that you have to create an application, just that +atlapp.h contains base definitions required for WTL projects.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">To install WTL, just copy the whole directory +structure, or unpack the archive file, to the location of your choice. Please be sure to +<b>add the WTL\include +directory</b> to the list of include directories in VC++, so that the compiler +can find them when you include them in your projects..</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Setup programs for the AppWizard are provided. After executing the setup scripts, ATL/WTL AppWizard will appear in the list of AppWizards when you select File.New.Project +in VC++ IDE. The file AppWiz\setup70.js is the setup script for VC++ .NET 2002, AppWiz\setup71.js is for VC++ +.NET 2003, and AppWiz\setup80.js is for VC++ 2005. AppWizCE\setup80.js is setup +script for VC++ 2005 SmartDevice projects.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">To manually install AppWizard +for VC++ .NET 2002/2003, copy all WTLAppWiz.* files from AppWiz\Files to VC++ .NET +projects directory, %VC7DIR%\Vc7\vcprojects, where %VC7DIR% is the directory +where VC++ .NET 2002/2003 is installed. After that, open WTLAppWiz.vsz and modify the +like that contains ABSOLUTE_PATH to contain %WTLDIR%\AppWiz\Files, where +%WTLDIR% is the directory where WTL files are.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Platform support and +requirements:</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"> Compiler/IDE/ATL:</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Visual C++ 6.0 (ATL 3.0)</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Visual C++.NET 2002 (ATL 7.0)</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Visual C++.NET 2003 (ATL 7.1)</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Visual C++ 2005 (ATL 8.0)</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"> SDK +(optional):</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Any Platform SDK from January 2000 release up to the latest Windows SDK</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"> Windows CE +development:</font></p> +<p style=margin:0in><font face="Arial" size="2"> +eMbedded Visual C++ 3.0 - Pocket PC, Pocket PC 2002</font></p> +<p style=margin:0in><font face="Arial" size="2"> +eMbedded Visual C++ 4.0 - STANDARDSDK_410, Pocket PC 2003, Smartphone 2003, +</font></p> +<p style=margin:0in><font face="Arial" size="2"> +STANDARDSDK_500, Pocket PC 2003 SE, Smartphone 2003 SE</font></p> +<p style=margin:0in><font face="Arial" size="2"> +Visual C++ 2005 - Pocket PC 2003 SE, Smartphone 2003 SE, STANDARDSDK_500,</font></p> +<p style=margin:0in><span class="style2"> +</span><font face="Arial" size="2">Windows Mobile 5.0 (Pocket PC and Smartphone),<br> + +Windows Mobile 6.0 (Standard and Professional)</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial"> +<b><a name="Packing List"></a>Packing List</b></font></p> +<p style=margin:0in> </p> +<table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="497" id="AutoNumber2"> + <tr> + <td width="136"><font face="Arial" size="2">File Name</font><font face="Arial">:</font></td> + <td width="358"><font face="Arial" size="2">Description:</font></td> + </tr> + <tr> + <td width="494" colspan="2"><hr></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2">readme.htm</font></td> + <td width="358"><font face="Arial" size="2">this file</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2">Ms-PL.txt</font></td> + <td width="358"><font face="Arial" size="2">license</font></td> + </tr> + <tr> + <td width="494" colspan="2"> </td> + </tr> + <tr> + <td width="494" colspan="2"><font face="Arial" size="2">include\</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlapp.h</font></td> + <td width="358"><font face="Arial" size="2">message loop, interfaces, + general app stuff</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlcrack.h</font></td> + <td width="358"><font face="Arial" size="2">message cracker macros</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlctrls.h</font></td> + <td width="358"><font face="Arial" size="2">standard and common control + classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlctrlw.h</font></td> + <td width="358"><font face="Arial" size="2">command bar class</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlctrlx.h</font></td> + <td width="358"><font face="Arial" size="2">bitmap button, check list view, + and other controls</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlddx.h</font></td> + <td width="358"><font face="Arial" size="2">data exchange for dialogs and + windows</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atldlgs.h</font></td> + <td width="358"><font face="Arial" size="2">common dialog classes, property + sheet and page classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlfind.h</font></td> + <td width="358"><font face="Arial" size="2">Find/Replace support for Edit + and RichEdit</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlframe.h</font></td> + <td width="358"><font face="Arial" size="2">frame window classes, MDI, + update UI classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlgdi.h</font></td> + <td width="358"><font face="Arial" size="2">DC classes, GDI object classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlmisc.h</font></td> + <td width="358"><font face="Arial" size="2">WTL ports of CPoint, CRect, + CSize, CString, etc.</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlprint.h</font></td> + <td width="358"><font face="Arial" size="2">printing and print preview</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlres.h</font></td> + <td width="358"><font face="Arial" size="2">standard resource IDs</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlresce.h</font></td> + <td width="358"><font face="Arial" size="2">standard resource IDs for + Windows CE</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlscrl.h</font></td> + <td width="358"><font face="Arial" size="2">scrollable windows</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlsplit.h</font></td> + <td width="358"><font face="Arial" size="2">splitter windows</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atltheme.h</font></td> + <td width="358"><font face="Arial" size="2">Windows XP theme classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atluser.h</font></td> + <td width="358"><font face="Arial" size="2">menu class, USER object classes</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlwince.h</font></td> + <td width="358"><font face="Arial" size="2">specific support for Windows CE + Mobile platforms</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> atlwinx.h</font></td> + <td width="358"><font face="Arial" size="2">extensions of ATL windowing + support</font></td> + </tr> + <tr> + <td width="494" colspan="2"> </td> + </tr> + <tr> + <td width="494" colspan="2"><font face="Arial" size="2">Samples\</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Aero\...</font></td> + <td width="358"><font face="Arial" size="2">Vista Aero glass showcase</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Alpha\...</font></td> + <td width="358"><font face="Arial" size="2">Windows XP 32-bit (alpha) + toolbar images</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> BmpView\...</font></td> + <td width="358"><font face="Arial" size="2">bitmap file view sample</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> GuidGen\...</font></td> + <td width="358"><font face="Arial" size="2">WTL version of the GuidGen + sample</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> ImageView\...</font></td> + <td width="358"><font face="Arial" size="2">Full-featured PPC frame-view + application</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> MDIDocVw\...</font></td> + <td width="358"><font face="Arial" size="2">WTL version of the MDI sample</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> MiniPie\...</font></td> + <td width="358" class="style2">p<font size="2">ort of the SDK sample for + Mobile devices</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> MTPad\...</font></td> + <td width="358"><font face="Arial" size="2">multithreaded notepad sample</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> SPControls\...</font></td> + <td width="358"><font face="Arial" size="2">Barebone SmartPhone dialog + application</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> TabBrowser\...</font></td> + <td width="358"><font face="Arial" size="2">Web browser using TabView</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Wizard97Test\...</font></td> + <td width="358"><font face="Arial" size="2">Wizard97 showcase + sample</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> WTLExplorer\...</font></td> + <td width="358"><font face="Arial" size="2">Explorer-like application + sample</font></td> + </tr> + <tr> + <td width="494" colspan="2"> </td> + </tr> + <tr> + <td width="494" colspan="2"><font face="Arial" size="2">AppWiz\</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup70.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard setup program for VC++ + .NET 2002</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup71.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard setup program for VC++ + .NET 2003</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup80.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard setup program for VC++ + 2005</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup80x.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard setup program for VC++ + 2005 Express</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Files\...</font></td> + <td width="358"><font face="Arial" size="2">WTL AppWizard for VC++ .NET 2002 and + 2003 files</font></td> + </tr> + <tr> + <td width="494" colspan="2"> </td> + </tr> + <tr> + <td width="494" colspan="2"><font face="Arial" size="2">AppWizCE\</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup80.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard setup program for VC++ + 2005</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Files\...</font></td> + <td width="358"><font face="Arial" size="2">WTL AppWizard for VC++ 2005 files</font></td> + </tr> + <tr> + <td width="494" colspan="2"> </td> + </tr> + <tr> + <td width="494" colspan="2"><font face="Arial" size="2">AppWizMobile\</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> setup80.js</font></td> + <td width="358"><font face="Arial" size="2">AppWizard Mobile setup program for VC++ + 2005</font></td> + </tr> + <tr> + <td width="136"><font face="Arial" size="2"> Files\...</font></td> + <td width="358"><font face="Arial" size="2">WTL AppWizard Mobile for VC++ 2005 files</font></td> + </tr> + </table> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial"> +<b><a name="Class Overview"></a>Class Overview</b></font></p> +<p style=margin:0in> </p> +<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber4"> + <tr> + <td><font face="Arial" size="2">usage: + </font></td> + <td><font face="Arial" size="2"><b>mi base</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> a base class (multiple + inheritance)</font></td> + </tr> + <tr> + <td> </td> + <td><font face="Arial" size="2"><b>client</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> wrapper class for a handle</font></td> + </tr> + <tr> + <td> </td> + <td><font face="Arial" size="2"><b>as-is</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> to be used directly</font></td> + </tr> + <tr> + <td> </td> + <td><font face="Arial" size="2"><b>impl</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> implements a window (has + WindowProc) or other support</font></td> + </tr> + <tr> + <td> </td> + <td><font face="Arial" size="2"><b>helper</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> a helper class</font></td> + </tr> + <tr> + <td> </td> + <td><font face="Arial" size="2"><b>base</b></font></td> + <td> -</td> + <td><font face="Arial" size="2"> implementation base class</font></td> + </tr> +</table> +<p style=margin:0in> </p> +<table border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1" width="600"> + <tr> + <td width="220"><b><font face="Arial" size="2">class name:</font></b></td> + <td width="114"><b><font face="Arial" size="2">usage:</font></b></td> + <td width="253"><b><font face="Arial" size="2">description:</font></b></td> + </tr> + <tr> + <td colspan="3" width="593"><font size="2" face="Arial"><br>App/module support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppModule</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">app support, CComModule derived</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CServerAppModule</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">module for COM servers</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMessageLoop</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">message loop</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMessageFilter</font></b></td> + <td width="115"><font face="Arial" size="2">mi base</font></td> + <td width="255"><font face="Arial" size="2">message filter interface</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CIdleHandler</font></b></td> + <td width="115"><font face="Arial" size="2">mi base</font></td> + <td width="255"><font face="Arial" size="2">idle time handler interface</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Frame windows</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFrameWindowImplBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFrameWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">frame window support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">COwnerDraw</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi base</font></td> + <td width="255"><font face="Arial" size="2">owner-draw msg map and handlers</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDialogResize</font> + </b></td> + <td width="115"><font face="Arial" size="2">impl mi base</font></td> + <td width="255"><font face="Arial" size="2">support for resizing dialogs</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDoubleBufferImpl</font> + </b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">double-buffer painting support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDoubleBufferWindowImpl</font> + </b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">double-buffer painting window</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>MDI windows</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMDIWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">MDI methods</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMDIFrameWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">MDI frame window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMDIChildWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">MDI child window</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Update UI</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CUpdateUIBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CUpdateUI</font></b></td> + <td width="115"><font face="Arial" size="2">mi base class</font></td> + <td width="255"><font face="Arial" size="2">provides support for UI update</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDynamicUpdateUI</font></b></td> + <td width="115"><font face="Arial" size="2">mi base class</font></td> + <td width="255"><font face="Arial" size="2">provides dynamic support for UI update</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Standard controls</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStatic</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">static ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CButton</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">button ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CListBox</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">list box ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CComboBox</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">combo box ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CEdit</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">edit ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CEditCommands</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">standard edit command support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CScrollBar</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">scroll bar ctrl</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Common controls</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CImageList</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">image list</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CListViewCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">list view ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTreeViewCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">tree view ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTreeItem</font></b></td> + <td width="115"><font face="Arial" size="2">helper</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTreeViewCtrlEx</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">uses CTreeItem</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CHeaderCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">header bar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CToolBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">toolbar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStatusBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">status bar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTabCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">tab ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CToolTipCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">tool tip ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CToolInfo</font></b></td> + <td width="115"><font face="Arial" size="2">helper</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTrackBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">trackbar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CUpDownCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">up-down ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CProgressBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">progress bar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CHotKeyCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">hot key ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAnimateCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">animation ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichEditCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">rich edit ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichEditCommands</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">std rich edit commands support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDragListBox</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">drag list box</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDragListNotifyImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi class</font></td> + <td width="255"><font face="Arial" size="2">support for notifications</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CReBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">rebar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CComboBoxEx</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">extended combo box</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDateTimePickerCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">date-time ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFlatScrollBarImpl</font></b></td> + <td width="115"><font face="Arial" size="2">mi impl</font></td> + <td width="255"><font face="Arial" size="2">flat scroll bars support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFlatScrollBar</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">flat scroll bars support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CIPAddressCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">IP address ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMonthCalendarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">month calendar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCustomDraw</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi class</font></td> + <td width="255"><font face="Arial" size="2">custom draw handling support</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Windows CE controls</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCECommandBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">command bar ctrl</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCECommandBandsCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">command bands ctrl</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Property sheet & page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertySheetWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertySheetImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">property sheet </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertySheet</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertyPageWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertyPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">property page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPropertyPage</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAxPropertyPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">property page with ActiveX</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAxPropertyPage</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97SheetWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97SheetImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Wizard97 property sheet</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97Sheet</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97PageWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97PageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Wizard97 property page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97ExteriorPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Wizard97 exterior page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWizard97InteriorPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Wizard97 interior page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardFrameWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardFrameImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Aero Wizard frame</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardFrame</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardPageWindow</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Aero Wizard page</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardPage</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardAxPageImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Aero Wizard page with ActiveX</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAeroWizardAxPage</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Common dialogs</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFileDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">GetOpenFileName/GetSaveFileName</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFileDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMultiFileDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Multi-select GetOpenFileName</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMultiFileDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CShellFileDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CShellFileOpenDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Shell File Open dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CShellFileOpenDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CShellFileSaveDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Shell File Save dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CShellFileSaveDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFolderDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">directory picker</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFolderDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFontDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">ChooseFont common dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFontDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichEditFontDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">ChooseFont for rich edit</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichEditFontDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CColorDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">ChooseColor common dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CColorDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">PrintDlg common dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintDialogExImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">new Win2000 print dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintDialogEx</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPageSetupDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">PageSetupDlg common dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPageSetupDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFindReplaceDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">FindText/ReplaceText</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFindReplaceDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>User support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMenu</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">menu support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMenuItemInfo</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">MENUITEMINFO wrapper</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAccelerator</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">accelerator table</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CIcon</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">icon object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCursor</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">cursor object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CResource</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">generic resource object</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>GDI support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">DC support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPaintDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">for handling WM_PAINT</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CClientDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">for GetDC</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWindowDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">for GetWindowDC</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMemoryDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">in-memory DC</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPen</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI pen object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBrush</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI brush object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CLogFont</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">LOGFONT wrapper</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFont</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI font object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBitmap</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI bitmap object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPalette</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI palette object</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRgn</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">GDI region object</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Enhanced controls</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCommandBarCtrlImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">command bar</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCommandBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBitmapButtonImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">bitmap button</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBitmapButton</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCheckListViewCtrlImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">check list box</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCheckListViewCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CHyperLinkImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">hyper link control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CHyperLink</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWaitCursor</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">wait cursor</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCustomWaitCursor</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">custom and animated wait cursor</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMultiPaneStatusBarCtrlImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">status bar with multiple panes</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMultiPaneStatusBarCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPaneContainerImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">pane window container</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPaneContainer</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSortListViewImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">sorting list view control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSortListViewCtrlImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSortListViewCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTabViewImpl;</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">tab view window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTabView</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Scrolling window support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CScrollImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">scrolling support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CScrollWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">scrollable window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMapScrollImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">scrolling support with map modes</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMapScrollWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">scrollable window with map modes</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CZoomScrollImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">zooming support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CZoomScrollWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">zooming window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CScrollContainerImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">scroll container window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CScrollContainer</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Splitter window support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSplitterImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">splitter support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSplitterWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">splitter window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSplitterWindow</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Theming support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTheme</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Windows XP theme</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CThemeImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">theming support for a window</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Buffered paint and animation support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedPaint</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">buffered paint</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedPaintImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">buffered paint support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedPaintWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">window with buffered paint</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedAnimation</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255" class="style2">b<font size="2">uffered animation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedAnimationImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl mi</font></td> + <td width="255"><font face="Arial" size="2">buffered animation support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CBufferedAnimationWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">window with buffered animation</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Edit and RichEdit Find/Replace support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CEditFindReplaceImplBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255" class="style2"> </td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CEditFindReplaceImpl</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">Edit Find/Replace support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichEditFindReplaceImpl</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255" class="style2"><font face="Arial" size="2">RichEdit Find/Replace support</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Printing support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrinterInfo</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">print info support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrinter</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">printer handle wrapper</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDevMode</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">DEVMODE wrapper</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrinterDC</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">printing DC support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintJobInfo</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">print job info</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintJob</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">print job support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintPreview</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">print preview support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintPreviewWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">print preview window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPrintPreviewWindow</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CZoomPrintPreviewWindowImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">zooming print preview window</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CZoomPrintPreviewWindow</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Miscellaneous</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSize</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">WTL port of MFC's CSize</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CPoint</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">WTL port of MFC's CPoint</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRect</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">WTL port of MFC's CRect</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CString</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">WTL port of MFC's CString</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CWinDataExchange</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">data exchange for controls</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRecentDocumentList</font></b></td> + <td width="115"><font face="Arial" size="2">mi or as-is</font></td> + <td width="255"><font face="Arial" size="2">support for MRU list</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFindFile</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">file search support</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>In-memory dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CMemDlgTemplate</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">In-memory dialog template</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CIndirectDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">In-memory dialog class</font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Task dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTaskDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Task Dialog in Vista</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTaskDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2"> </font></td> + </tr> + <tr> + <td colspan="3" width="593"><font face="Arial" size="2"><br>Windows CE support</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdDialogBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2">standard dialog base class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">standard dialog implementation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdSimpleDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">standard simple dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdDialogResizeBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2">orientation aware standard dialog base class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdDialogResizeImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">orientation aware standard dialog implementation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdSimpleDialogResizeImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">standard resizing simple dialog implementation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdOrientedDialogBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2">oriented dialog base class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdOrientedDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">oriented dialog implementation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CStdSimpleOrientedDialog</font></b></td> + <td width="115"><font face="Arial" size="2">as-is</font></td> + <td width="255"><font face="Arial" size="2">standard simple oriented dialog</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppInfoBase</font></b></td> + <td width="115"><font face="Arial" size="2">base</font></td> + <td width="255"><font face="Arial" size="2">application state save/restore to registry</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppInfoT</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">CAppInfoBase constructed from a CAppWindow<T></font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppWindow<></font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">PPC/SmartPhone well-behaved application window class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppDialog</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">PPC/SmartPhone well-behaved application non-modal dialog class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CAppStdDialogImpl</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">PPC/SmartPhone implementation of non-modal standard dialog application</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CFullScreenFrame</font></b></td> + <td width="115"><font face="Arial" size="2">impl</font></td> + <td width="255"><font face="Arial" size="2">Full screen frame class</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CZoomScrollImpl</font></b></td> + <td width="115"><font face="Arial" size="2">mi</font></td> + <td width="255"><font face="Arial" size="2">WinCE zooming implementation</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CHtmlCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">HTML control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CRichInkCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">RichInk control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CInkXCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">InkX control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CVoiceRecorderCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">VoiceRecorder control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CDocListCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">DocList control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CCapEdit</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">CapEdit control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTTStatic</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">TT Static control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CTTButton</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">TT Button control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSpinCtrl</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Spin control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CSpinListBox</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Spin List Box control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CExpandListBox</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Expand List Box control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CExpandEdit</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Expand Edit control</font></td> + </tr> + <tr> + <td width="221"><b><font face="Arial" size="2">CExpandCapEdit</font></b></td> + <td width="115"><font face="Arial" size="2">client</font></td> + <td width="255"><font face="Arial" size="2">Expand CapEdit control</font></td> + </tr> +</table> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial"> +<b><a name="ATL/WTL AppWizard"></a>ATL/WTL AppWizard</b></font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">ATL/WTL AppWizard generates starting code for a +WTL application. It has options to create code for different application types and features.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">You can choose the following options:</font></p> +<ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Application type (SDI, multi thread SDI, MDI, + TabView, Explorer, dialog based)</font></li> + <li><font face="Arial" size="2">Support for hosting ActiveX controls</font></li> + <li><font face="Arial" size="2">COM server support</font></li> + <li><font face="Arial" size="2">Class implementation in .CPP files</font></li> + <li><font face="Arial" size="2">Common Control manifest</font></li> + <li class="style2">U<font size="2">nicode character set</font></li> + <li><font face="Arial" size="2">Toolbar, rebar, command bar, status bar</font></li> + <li><font face="Arial" size="2">View window, and it's type (generic, dialog + based form, or a list box, edit, list view, tree view, rich edit based, HTML + page, scroll window)</font></li> + <li><font face="Arial" size="2">For dialog based apps or a form based view + window - support for hosting ActiveX controls in the dialog</font></li> +</ul> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">ATL/WTL AppWizard supports VC++ +.NET 2002 and 2003,and VC++ 2005.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Support for Windows CE"></a>Support for +Windows CE</font></b></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">WTL now fully supports building +projects for the Windows CE platforms. This initial support for Windows CE was implemented primarily for +eMbedded Visual C++ 4.0 with Pocket PC 2003 and +SmartPhone 2003 SDKs. However, it can be used with other versions and +configurations. For instance, Standard SDK 4.1 or 5.0 is supported as well. Considerable effort was made to provide the best Windows CE support, +however, there might be some limitations because different platforms provide different +programming support. SmartDevice projects with Visual Studio 2005 are also +supported, and it also includes an AppWizard for VS2005.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">The support for Windows CE was +not designed to port projects for the desktop version of Windows as-is to the +Windows CE platforms, but to allow use of the same library, WTL, for both +desktop Windows and Windows CE. Applications for Windows CE are often designed +in a different way, and they use different platform services. WTL depends on the +version of ATL provided with each Windows CE platform, and supports controls and +services that are appropriate and supported for each Windows CE platform.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Support for Visual C++ 2005 Express"></a>Support for +Visual C++ 2005 Express</font></b></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">WTL 8.0 supports using Visual +C++ Express Edition to build projects. Since Visual C++ 2005 Express ships without ATL, you have +to use a version of ATL that ships with the Platform SDK.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">The WTL App Wizard can be +installed by running AppWiz\setup80x.js program. The App Wizard generates code +in the stdafx.h file that allows use of ATL3 from the Platform SDK. That code is +used if WTL_USE_SDK_ATL3 is defined, so you can comment the line in stdafx.h +that defines WTL_USE_SDK_ATL3 to use the project with different versions of +Visual C++ or ATL.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Note that Release builds will +generate some warnings, since ATL3 from Platform SDK is an old version of ATL +which doesn't quite match the newer compiler and CRT files. You can ignore those +warnings, as they do not indicate any real problems with the code.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Notes"></a>Notes</font></b></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> WTL provides +several classes that are also present in ATL 7.0 and 7.1. The classes are: <b> +CSize</b>, <b>CPoint</b>, <b>CRect</b>, and <b>CString</b> in atlmisc.h. +While their existence will not cause any problems, their usage might. You should +qualify the class you want to use with a namespace to resolve ambiguity, either +ATL or WTL namespace, depending on which implementation you want to use. +Alternatively, you can conditionally exclude WTL implementations, by defining +preprocessor symbol <b>_WTL_NO_WTYPES</b> for CSize, CPoint, and CRect; and <b>_WTL_NO_CSTRING</b> +for CString.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> If +you use WTL 8.0 with VC++ 6.0/ATL 3.0 and define _ATL_STATIC_REGISTRY, you'll +get errors referring to the ambiguous symbol ATL. This is caused by a bug in ATL +3.0 - in atlbase.h, the file statreg.h is included inside of the ATL namespace, +and it contains another namespace ATL declaration. Because of that, the compiler +cannot decide between ATL:: and ATL::ATL:: namespaces. The solution is either to +fix the atlbase.h, or to surround atlbase.h include declaration with following +statements:</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b> #define +ATL ATLFIX</b></font></p> +<p style=margin:0in><font face="Arial" size="2"> #include <atlapp.h></font></p> +<p style=margin:0in><font face="Arial" size="2"> +<b> #undef ATL</b></font></p> +<p style=margin:0in><font face="Arial" size="2"> +<b> namespace ATL = ::ATLFIX;</b></font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> +Windows XP allows applications to use Common Controls version 6, which supports +only Unicode applications. While WTL allows creation of Ansi applications that +use Common Controls 6, that should be used only for test programs and is not +recommended or supported for released projects. If you want to use Common +Controls 6, build your application as Unicode.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> +If you build your app that hosts ActiveX controls +with VC++ 7.x, you can see this assert failing:<br> +<span class="style2"><strong><br> + !InlineIsEqualGUID(*m_plibid, GUID_NULL) && "Did you forget +to pass the LIBID to CComModule::Init?"<br> +<br> +</strong></span>There are two ways to fix this:</font></p> +<ul> + <li> + <p style=margin:0in><span class="style2">In the main .CPP file of your + project, replace the line<br> + <strong> hRes = _Module.Init(NULL, hInstance);<br> + </strong>with this one<br> + <strong> hRes = _Module.Init(NULL, hInstance, &LIBID_ATLLib);<br> + </strong></span></p> + </li> + <li> + <p style=margin:0in><span class="style2">Compile you project with _ATL_DLL + defined (dynamic link to ATL)</span></p> + </li> +</ul> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> +Several of the sample programs included with WTL were extended to support +building for Windows CE. These samples are not specially redesigned for Windows +CE, but just modified to allow you to compile and run them on the Windows CE +platforms. The samples are: BmpView, GuidGen, and MTPad.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> WTL +supports building projects with EVC++ 3.0 only for Pocket PC and Pocket PC 2002 +platforms, as other platforms don't provide minimum support for ATL or other +required libraries.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2"><b>~</b> The +old AppWizards for VC++ 6.0 and eVC++ 4.0/3.0 are not included in this version +of WTL because they cannot be a part of an Open Source project. They are still +available in the previous release, WTL 7.1.</font></p> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Changes Between WTL 8.0 And 7.5"></a>Changes Between WTL 8.0 And 7.5</font></b></p> +<p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">New and improved:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">RunTimeHelper functions for + correct struct sizes on different versions of Windows<br>ModuleHelper functions for uniform support of ATL3 and ATL7 module classes<br>SecureHelper functions for support of secure and non-secure run-time + functions<br>Support for new Vista features:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Support for new messages for common controls, dialogs, etc.</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support for TaskDialog</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">New Shell file dialogs (IFileOpenDialog and IFileSaveDialog)</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">New Aero Wizard support classes</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">New classes for Buffered Paint and Buffered Animation</font></p> + </li> + </ul> + <p style=margin:0in><font face="Arial" size="2">New TabView classes<br>New dialog class that uses in-memory dialog templates<br>New CMultiFileDialogImpl and CMultiFileDialog classes that support + multi-select file dialogs<br>Added message cracker handler prototypes for all handlers<br>Replaced use of _alloca with CTempBuffer everywhere (and added CTempBuffer + version for ATL3)<br>New classes for find/replace support for Edit or RichEdit<br>New class CFileDialogEx that supports GetOpenFileNameEx for Windows Mobile 5<br> + New features for the App Wizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">New default version values</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Unicode build option</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support for TabView applications</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support for Explorer applications</font></p> + </li> + </ul> + <p style=margin:0in><font face="Arial" size="2">Updates for the desktop App Wizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Added calls to set font for views based on controls that use font</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added scroll window as another view type</font></p> + </li> + </ul> + <p style=margin:0in><font face="Arial" size="2">Support for VC2005 Express:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Setup for VS2005x</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Changes in default.js to take into account that VC2005x does not have a + resource editor</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Generated code allows use of ATL3 from the Platform SDK</font></p> + </li> + </ul> + <p style=margin:0in><font face="Arial" size="2">New AppWizard for Mobile 2003 and 2005 platforms<br> + New samples:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Aero - demonstrates the + Vista Glass UI</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">MiniPie - Windows Mobile 2005 PPC and Smartphone sample</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">TabBrowser - a web browser using TabView class</font></p> + </li> + </ul> + <p style=margin:0in><font face="Arial" size="2">MTPad sample updated to show usage of CRichEditFindReplaceImpl and + CEditCommands/CRichEditComma</font></p> +</blockquote> + <p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Fixes and enhancements:</font></p> + <blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Added support for menu items + with bitmaps on Vista</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Keyboard cues shown + even if the window is disabled</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFolderDialog:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Added support for PIDLs in + addition to the file path</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Replaced use of SHGetMalloc + with CoTaskMemFree</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Scroll Windows:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CZoomScrollImpl - some + methods should be overridable</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added support for + WM_MOUSEHWHEEL in CScrollImpl</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">App Wizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: AppWizard fails to add + files if C:\Temp does not exist</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: App Wizard generates + security warning when loaded</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: App Wizard generates + level 4 warning for modal dlg project</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: App Wizard setupXX.js + scripts silently fail on Vista</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Added code to + unregister message filer and idle processing</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Added WS_CLIPSIBLINGS + to dialog forms to avoid rebar drawing problems</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">App Wizard CE:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: App Wizard CE should + not have rich edit as a view option</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: App Wizard CE generates + level 4 warnings for single instance apps</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added support for Windows + Mobile 6 SDKs</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Cracked Handlers:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Corrected MSG_WM_TIMER + and handler prototype, removed unused argument (breaking change)</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: atlcrack.h does not + support WTL namespace</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDialogResize:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Added SetIcon(NULL, FALSE) + for CDialogResize to remove the generic icon for resizable dialogs</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Enabled size/move for + both X and Y</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added center flags for + controls</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Const issue with title + argument of AddSimpleReBarBand</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: DECLARE_FRAME_WND_CLASS + definition missing WTL namespace</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Windows CE:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Some symbols not + defined for CE 4.0</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Incorrect WinCE + exclusions</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Pocket PC - assert + after navigating a CHyperLink</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Property sheet with + listview on WM5.0 causes stack overflow</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CFindFile::GetFilePath() + fails on diskless root requests</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: VS 2005 dialog editor + bug - DS_FIXEDSYS used but not defined</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Windows Mobile 2005 + compatibility issues</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CFullScreenFrame on + Smartphone 20003</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: SmartPhone back key + handling in CAppWindow</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added orientation aware + support to CAppStdDialogImpl</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added CAxDialogImpl base for + CStdDialogImpl, CStdDialogResizeImpl and CStdOrientedDialogImpl</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added various CStdDialogxxx + enhancements</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CStdDialogBase does not + scale dialog title on VGA</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: DIBINFO16 triggers code + analysis warning</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added LPCTSTR + AtlLoadString(UINT uID) - CE only overload</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added imaging draw support + to CZoomScrollImpl</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added CBottomTabViewImpl and + CBottomTabView classes for PPC</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFindFile:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CFindFile class uses + CRT functions</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: FindFile() uses lstrcpy + without checking length</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">General:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Adding ReBar bands + fails with new Windows SDK</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added support for relative + include paths</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Using std::min and + std::max</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Problems using WTL with + MFC</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Improved support for Secure + CRT</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Changed implementation of + CSize, CPoint, CRect, and CString to be inside class definitions</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">atltheme.h: Corrected method + signatures for differences in uxtheme.h versions</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Replaced malloc/free with + new/delete where appropriate</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Misc:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CString::FormatV can + cause GPF with Unicode strings</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CHyperLink: Added handler + for WM_SIZE</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CTheme needs + constructor from HTHEME handle</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added Add* methods to + several control classes in atlctrls.h to augment Insert* methods</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Incorrect casting in + CRichEditCtrl::GetLine()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: + CTreeViewCtrl::GetItemState changed to return only state-bits as specified + by mask</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CBitmapButton::DoPaint + - wrong button image</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added another variant of + CDCT::Drawtext with LPTSTR argument that allows text change</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: + CRecentDocumentListBase::AddToList() uses lstrcpy</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: AtlLoadString(uID, + lpBuffer, nBufferMax) has unnecessary code</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: CCursor::LoadOEMCursor + asserts on IDC_HAND</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Memory leak when using + CRT functions while printing</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix: Undefined CString + namespace</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CPaneContainer: Added border + styles</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CSplitterImpl: Added + SetSplitterPosPct, and changed App Wizard code to use it</font></p></li> + </ul> + </blockquote> + <p style=margin:0in> </p> + <p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Changes Between WTL 7.5 And 7.1"></a>Changes Between WTL 7.5 And 7.1</font></b></p> +<p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">New and improved:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">VS2005 Compatibility: + Added support for Visual Studio 2005 - both desktop and Windows CE<br> + Classes for icons, cursors, accelerator tables<br> + CSortListViewImpl, CSortListViewCtrlImpl, and CSortListViewCtrl classes<br> + Impl classes for Wizard 97 style wizards: CWizard97Sheet, + CWizard97Page, CWizard97ExteriorPage, CWizard97InteriorPage<br> + CMemoryDC and CDoubleBufferWindowImpl classes<br> + Windows CE specific classes in new header, atlwince.h<br> + CScrollContainer class<br> + CZoomScrollImpl and CZoomScrollWindowImpl classes<br> + CZoomPrintPreviewWindowImpl and CZoomPrintPreviewWindow classes<br> + Global functions: AtlGetBitmapResourceInfo, + AtlGetBitmapResourceBitsPerPixel<br> + New REFLECT_* macros to enable selective reflection of messages<br> + App Wizard: Added App Wizard for VS2005<br> + App Wizard: Added App Wizard for Windows CE for VS2005<br> + New samples: WTLExplorer, ImageView, SPControls<br> + </font></p> +</blockquote> + <p style=margin:0in><font face="Arial" size="2">Fixes and enhancements:</font></p> + <blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">DrawBitmapDisabled() + doesn't work correctly on Longhorn</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Submenu size not correct if + command bar is off-screen</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added handler for + WM_SETTINGCHANGE to improve theme color changes</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Better support for + 8/16/24-bit images</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Command Bar with 2 Levels of + submenus remains active</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Hook procedure fails to call + next hook</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">OnDestroy() should not + decrement hook use if AttachToWindow() is used</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">MDI Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Grows bigger if you + switch between two maximized MDI child window types</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Move all hook messages + processing to a separate function and use pT</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">MDI icon & buttons should + have themed background</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Should make MDI buttons gray + when inactive<br> </font></p></li> + </ul> + <p style=margin:0in><font face="Arial" size="2">CString:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Helper functions not + overloaded properly</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Some return types are + 'const CString&' and could be just 'CString&'</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">FormatV() passes size in + characters to _alloca, should be in bytes</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fixed stack corruption in + FormatV()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Improved boundaries checking + for integer overflows/underflows<br> </font></p></li> + </ul> + <p style=margin:0in><font face="Arial" size="2">CScrollImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Scroll bars problem when + changing range</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">SetScrollOffset() doesn't + move child windows</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Range and thumb drawing + problems</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Possible overflow in + OnMouseWheel()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support for + SIF_DISABLENOSCROLL</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added ScrollToView methods</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CMapScrollImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">SetScrollSize() incorrectly + inverts xMin and xMax</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">SetScrollSize() uses bRedraw + = NULL</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CTheme:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">GetThemeFont() bad parameter + ordering</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Uses LOGFONT and TEXTMETRIC + incorrectly (SDK header problem)</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Improved sizing for Windows + CE</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CreateSimpleToolBarCtrl() + should handle 24-bit bitmaps</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Changed WinCE + CCECommandBarCtrl typedef and added a PPC CMenuBarCtrl</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">UpdatesBarPosition() doesn't + take Windows CE command bar into account</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDialogResize:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Enabled use for Windows CE</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Add WS_EX_DLGMODALFRAME to + prevent empty icon</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CReBarCtrl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Background not painted when + resized</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fixed typo in LockBands()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">MaximizeBand needs BOOL + fIdeal argument</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CRichEdit:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">GetSelText() should + support UNICODE strings</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">GetSelText() uses lpstr instead of lpstrText</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CHyperLink:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Added _xttoi() helper to + avoid CRT in _ATL_MIN_CRT</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fixed resource leak by + destroying tooltip window<br> </font></p></li> + </ul> + <p style=margin:0in><font face="Arial" size="2">CPropertySheetImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Improved support for Windows + CE</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Sheet without title + generates a memory fault on Windows CE</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFolderDialog:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Add a way to set an initial + folder</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Uses BFFM_IUNKNOWN which is + not always defined</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Update UI:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Add support to + dynamically add UpdateUI elements</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">UIUpdateMenuBarElement() + should use EnableMenu() instead of SetMenuItemInfo() for Windows CE</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDC:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">FillSolidRect() should + restore background color</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">GetClipRgn() method + missing</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Printing:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2"> + CPrinter::CreatePrinterDC() and CreatePrinterIC() members should be + const</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CDevMode::CopyToHDEVMODE() is missing a call to GlobalUnlock()</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">AppWizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Use WTL subfolder to + create WTL category for VC7.x and VC8</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Rename files from + WTLApp7x to WTLAppWiz, and add VS2005 setup file</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fixed setup + for x64</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">General:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Redefinition of _MAX_FNAME + with Dinkumware Standard C++ Library on Windows CE</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added ATLVERIFY macro + for ATL3</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support warning level 4</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Missing methods + CToolBarCtrl::SetButtonInfo, InsertButton, CTabCtrl::SetItem, + CComboBoxEx::InsertItem, SetItem</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Missing support for + WM_PRINTCLIENT</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Removed usage of IsBad* + functions</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fixed various compiler + warnings</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">TCHAR bugs in various + files</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">Improved Windows CE support and changes for Visual Studio 2005</font></p></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Misc:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">CMDIChildWindowImpl: + HMENU should be destroyed in OnDestroy()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CStatic: Should use + STM_SETIMAGE instead of STM_SETICON for SetIcon() on Windows CE</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CButton: GetButtonStyle() + uses wrong mask</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CImageList: Made + Duplicate() method const</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CListViewCtrl: Made + SubItemHitTest() method const</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CTreeViewCtrl: GetItem() + and SetItem() incorrectly restricted to _WIN32_IE >= 0x0500</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CMonthCalendarCtrl: + GetMonthRange() should be GetMaxTodayWidth()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CDateTimePickerCtrl: + SetFormat() should have const argument</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CBitmapButtonImpl: Fixed + resource leak by destroying tooltip window</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2"> + CMultiPaneStatusBarCtrlImpl: Cannot handle wide panes without resource + strings</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CCheckListViewCtrlImpl: + Call CheckSelectedItems() through pT</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CPaneContainerImpl: + SetPaneContainerExtendedStyle() should use pT to call CalcSize()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CFindFile: Enabled for + Windows CE</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CPropertyPageImpl: Added + handlers for callback messages</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">atlcrack.h: Added return + value for MSG_WM_APPCOMMAND</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CMenu: New method variants: AppendMenu, InsterMenu, ModifyMenu</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CFont: Added arguments + for bold and italic to CreatePointFont()</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CSize: Added scalar + operators for WTL::CSize and ATL::CSize</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CRecentDocumentList: + Allow changing the "DocumentCount" and "Document%i" registry values + strings</font></p></li> + <li> + <p style=margin:0in><font face="Arial" size="2">CSplitterWindowImpl: + Enabled use for Windows CE</font></p></li> + </ul> + </blockquote> +<p style=margin:0in><br> + </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Changes Between WTL 7.1 And 7.0"></a>Changes Between WTL 7.1 And 7.0</font></b></p> +<p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">New and improved:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">VC7 Compatibility: Support for + ATL7 Module classes and critical sections and AppWizard setup for VC++ 7.1</font></p> + <p style=margin:0in><font face="Arial" size="2">Windows CE Support: Full + compatibility with Windows CE platforms and AppWizard for eMbedded Visual C++</font></p> + <p style=margin:0in><font face="Arial" size="2">Namespace Support: Automatic + "using ATL" (ATL7 only) or "using WTL" can now be turned off</font></p> + <p style=margin:0in><font face="Arial" size="2">CHyperLink New Features: not + underlined, underlined when hover, command button, link tags</font></p> + <p style=margin:0in><font face="Arial" size="2">CCustomWaitCursor class + supports custom and animated wait cursors</font></p> + <p style=margin:0in><font face="Arial" size="2">AtlCreateBoldFont() for + creating bold version of an existing font</font></p> +</blockquote> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Fixes and enhancements:</font></p> + <blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">CreateSimpleToolBarCtrl() - + remove dead code, improve error checking, add a global function that uses it</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - PrepareChevronMenu() fails to + get toolbar strings for Unicode</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImplBase::Create() + - improve ASSERT not to use m_hWnd if creation fails</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CFrameWndClassInfo::Register - + should use %p formatting only for _WIN32_WINNT >= 0x0500 or for _WIN64</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Chevron menus not positioned + correctly with RTL</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CMDIChildWindowImpl: Problems + creating maximized child windows and handling focus</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CMDIChildWindowImpl: Should + activate on WM_MOUSEACTIVATE</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">UpdateUI:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Incorrectly clears default + item from the system menu in MDI apps</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added UISetCheck with bool + instead of int for the check state</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">DDX:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Doesn't provide a way to + change floating point precision</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added DDX_CONTROL_HANDLE for + non-CWindowImpl objects</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Added DDX_Check variant with + bool instead of int for the check state</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - OnDrawItem() and OnMeasureItem() + don't do a good check for owner-draw menu items</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Disabled 32-bit images not + painted correctly in 3D menu mode</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Popup menus not positioned + correctly with RTL</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Uses GCL_HICONSM instead of + GCLP_HICONSM with GetClassLongPtr()</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">MDI Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Doesn't refresh icon if MDI + children are different</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">OnAllHookMessages() - improve + code to handle MDI child window class icon</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - OnNcLButtonDown() uses + TPM_VERPOSANIMATION without checking Windows version</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Maximized MDI buttons in wrong + place for RTL</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Should adjust cxIdeal for + rebar bands for IE4</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Add support for different + top-level menu widths by handling ideal size for rebar bands</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">AppWizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Doesn't support MSDI + application as a COM Server</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - MDI with Form View - stack + overflow closing maximized MDI child windows</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Generates VERSION resource + name 'test1' regardless of the project name</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Dialog project with control + hosting doesn't derive a dialog from CAxDialogImpl</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - COM Server doesn't register + type library</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - COM Server doesn't register + AppID properly</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CTreeViewCtrl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - GetItemData() needs better + return value</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - GetItemState() should use + TVM_GETITEMSTATE instead of TVM_GETITEM for IE5</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">GetItem() and SetItem() - + added + new variants that use TVITEMEX</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - SortChildren() should add + recurse flag argument</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CTreeItem doesn't support + CTreeViewCtrlExT that has different TBase than CWindow</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CThemeImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Uses scalar delete instead of + the vector one</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - EnableThemeDialogTexture() + argument is BOOL instead of DWORD</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFolderDialog:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - EnableOK() passes wrong + arguments to BFFM_ENABLEOK</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Always clears m_hWnd, which + causes problem for nested messages</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDialogResize:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - DlgResize_Init() forces dialog + to be visible by using SetRedraw()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Forcing WS_THICKFRAME is not + enough to make dialog resizable</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Min track size should be used + for child dialogs as well</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - DlgResize_PositionControl() + incorrectly checks return value from MapWindowPoints()</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CAppModule:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CAppModule methods not + thread-safe</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - AddSettingChangeNotify() + unusable in multithreaded apps because of delayed initialization</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CString:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Delete() doesn't allow + deleting more than the length of the string</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Append() can cause buffer + overrun</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - MakeReverse() can cause an + infinite loop</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - _cstrstr() unnecessarily + inefficient</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - FindOneOf() is not DBCS-aware</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Format() does not recognize %E</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - TrimLeft() and TrimRight() are + only half-way DBCS-aware</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - May cause assertions or + undefined behavior with SBCS</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CRecentDocumentList:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - SetMaxEntries() has an + incorrect ASSERT</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Add CString variant of the + GetFromList() method</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Add a way to replace command + IDs used for the MRU list</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Add a way to replace registry + key name</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Misc:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">CMessageLoop::Run() - improve + the loop by checking bDoIdle before calling PeekMessage()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CServerAppModule: Clean-up + unused code</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CServerAppModule::MonitorProc() + - no need to call _endthreadex()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CListBox::GetText() and + CComboBox::GetLBText() (CString variants) don't check for LBERR/CB_ERR</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CAxPropertyPageImpl doesn't + create ActiveX controls with ATL7</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CDC::GetTextExtentExPoint() + missing</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CDC::SetWindowExt() should + have default value NULL for the lpSizeRet argument</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CPropertySheetWindow missing + methods for PSM_INSERTPAGE, PSM_SETHEADERTITLE, and PSM_SETHEADERSUBTITLE; + AddPage should return BOOL</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CMapScrollImpl::SetScrollSize() + uses wrong variable</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CHyperLink: WM_UPDATEUISTATE + causes repaint without WM_PAINT</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CUpDownCtrl::GetPos() returns + incorrect value</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CUpDownCtrl::GetPos32() + doesn't have default arg value</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CMultiPaneStatusBarCtrl: + Always uses size grip for positioning panes</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CTabCtrl::InsertItem() should + return int, not BOOL</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CReBarCtrl: Added LockBands() + method</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CFont: uninitialized variable + passed to DPtoLP</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CPrintDialogImpl: Crash when + displaying Print Setup dialog</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - + CPageSetupDialogImpl::PaintHookProc() - should use T* and return UINT_PTR + instead of UINT</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CPrintJob doesn't support + printing to a file</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CSplitterImpl: Doesn't handle + WM_CAPTURECHANGED - can get in an invalid state</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CRichEditCtrl: Add method for + EM_SETTABSTOPS</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - CFindFile::GetFilePath() + checks for a trailing slash, but doesn't use that info</font></p> + </li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">General:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Problems compiling with /Zc:forScope + ('for' loop scope conformance)</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Use named constants instead of + values for pixel sizes, buffer lengths, etc.</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Support building with Managed + C++ (/CLR)</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CMenuItemInfo - add run-time + support for different versions of Windows</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">CommCtrl.h change - additional + fields in IMAGELISTDRAWPARAMS now depend on _WIN32_IE instead of _WIN32_WINNT</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Incorrect usage of CRegKey::QueryStringValue()</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Operator = for GDI and USER + wrappers leaks handle if it's managed variant</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - GDI and USER wrappers break + under self-assignments</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Fix - Chaining messages with cracked + handlers broken with ATL7</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Initialize all variables and + structures prior to use</font></p> + </li> + <li> + <p style=margin:0in><font face="Arial" size="2">Use new common control struct + names</font></p> + </li> + </ul> + </blockquote> + <p style=margin:0in> </p> + <p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Changes Between WTL 7.0 And 3.1"></a>Changes Between WTL 7.0 And 3.1</font></b></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">New classes and features:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">Support for new Common Controls v6 messages</font></p> + <p style=margin:0in><font face="Arial" size="2">Support for Visual Studio .NET and ATL 7.0</font></p> + <p style=margin:0in><font face="Arial" size="2">WTLApp70 - new AppWizard for Visual Studio + .NET</font></p> + <p style=margin:0in><font face="Arial" size="2">CThemeImpl - implements support for Windows XP + themes</font></p> + <p style=margin:0in><font face="Arial" size="2">CMDICommandBarCtrl - implements Command Bar for + MDI applications</font></p> +</blockquote> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Fixes and enhancements:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Bogus assert in OnDestroy</font></li> + <li><font face="Arial" size="2">Check marks can be truncated in large font + settings</font></li> + <li><font face="Arial" size="2">Use pT to access GetSystemSettings, + DrawMenuText, DrawBitmapDisabled, Draw3DCheckmark, DoPopupMenu, + DoTrackPopupMenu, TakeFocus, GiveFocusBack, so they can be overridden</font></li> + <li><font face="Arial" size="2">No hot-tracking if main window is not active</font></li> + <li><font face="Arial" size="2">Top level items not painted inactive if app + looses activation while drop down menu is displayed</font></li> + <li><font face="Arial" size="2">Added Windows XP flat menus support</font></li> + <li><font face="Arial" size="2">Drop-down menu doesn't close if clicked + again (Windows XP only)</font></li> + <li><font face="Arial" size="2">Menu item text and accelerator text too + close with some settings</font></li> + <li><font face="Arial" size="2">Keyboard can still access clipped menu items</font></li> + <li><font face="Arial" size="2">Added support for hiding keyboard navigation + indicators until Alt key is pressed (system setting)</font></li> + <li><font face="Arial" size="2">Added AddIcon and ReplaceIcon variants for + icon resources</font></li> + <li><font face="Arial" size="2">Image size calculated differently in + different places</font></li> + <li><font face="Arial" size="2">Add support for 32-bit (alpha channel) + bitmaps for Windows XP</font></li> + <li><font face="Arial" size="2">Fixed width calculation for default menu + items</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">AddSimpleReBarBandCtrl sets toolbar extended + styles without preserving old ones</font></li> + <li><font face="Arial" size="2">PrepareChevronMenu should not create menu + items for buttons with TBSTATE_HIDDEN</font></li> + <li><font face="Arial" size="2">TPM_VERPOSANIMATION will not be defined in + atlframe.h if atlctrlw.h is included first</font></li> + <li><font face="Arial" size="2">CreateSimpleToolBarCtrl - height might be + too small if large font is used</font></li> + <li><font face="Arial" size="2">PrepareChevronMenu uses TB_GETBUTTONTEXT, + better use TB_GETBUTTONINFO</font></li> + <li><font face="Arial" size="2">Chevron menu doesn't close if clicked again + (Windows XP only)</font></li> + <li><font face="Arial" size="2">Should check local classes for superclassing</font></li> + <li><font face="Arial" size="2">Add support for 32-bit (alpha channel) + bitmaps for Windows XP</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Update UI:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">UISetText can clear other menu item flags</font></li> + <li><font face="Arial" size="2">CUpdateUI::UIUpdateState assigns value with + |= instead of =</font></li> + <li><font face="Arial" size="2">Added UISetDefault() and fix default state + to work with menus</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CString:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">GetBuffer() and GetBufferSetLength() should + return NULL in out-of-memory condition</font></li> + <li><font face="Arial" size="2">Added missing methods: separate c-tors for + LPCSTR and LPCWSTR, CollateNoCase, TrimRight and TrimLeft variants, Find + variants, moved FormatV to public</font></li> + <li><font face="Arial" size="2">Fix _IsValidString usage</font></li> + <li><font face="Arial" size="2">FormatV incorrectly calculates buffer size + (too big)</font></li> + <li><font face="Arial" size="2">Usage of _ttoi causes problems with _ATL_MIN_CRT + in VC7</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDC:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">GetTabbedTextExtent() should return DWORD + instead of BOOL</font></li> + <li><font face="Arial" size="2">Add FillRect() that accept color index + instead of a brush handle</font></li> + <li><font face="Arial" size="2">DrawDragRect() leaks regions and a brush</font></li> + <li><font face="Arial" size="2">Improved DitherBlt() - added brushes as + arguments for used colors</font></li> + <li><font face="Arial" size="2">Added DrawShadowText() (uses LoadLibrary/GetProcAddress + to run on older Windows)</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CListViewCtrl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">SetItemState should use LVM_SETITEMSTATE</font></li> + <li><font face="Arial" size="2">SetItemCount should return a BOOL</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CRichEditCtrl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added SetCharFormat() variant that accepts + flags (for SCF_ALL)</font></li> + <li><font face="Arial" size="2">CharFromPos() should pass a pointer to + POINTL in lParam</font></li> + <li><font face="Arial" size="2">GetTextRange() - should add Unicode variant + for rich edit version >= 2</font></li> + <li><font face="Arial" size="2">Added another FormatRange() that can accept + a pointer to FORMATRANGE (needed for passing NULL to clear cache)</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CHyperLink:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Allow overriding of Navigate and + CalcLabelRect</font></li> + <li><font face="Arial" size="2">Doesn't handle right or center alignment</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CColorDialog:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Has static variables that were not + initialized with _ATL_MIN_CRT</font></li> + <li><font face="Arial" size="2">Fixed HookProc for ColorOK message - the + message is not sent, but the hook proc is called directly</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">atlcrack.h:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">MSG_WM_TIMER crack macro should cast to + TIMERPROC instead of TIMERPROC*</font></li> + <li><font face="Arial" size="2">Add cracked handlers for all new messages in + Common Controls 6</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">atlapp.h:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Fixed problems with atlTraceUI with ATL7</font></li> + <li><font face="Arial" size="2">#ifdefs for ATL7 were in the wrong place</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">atlctrls.h:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Add support in control classes for all new + messages in Common Controls 6</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CRecentDocumentList:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">AtlCompactPath corrupts memory if filename + is longer than requested compact size</font></li> + <li><font face="Arial" size="2">ReadFromRegistry incorrectly checks for + error when reading from registry</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CSplitterWindow:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Incorrect calculation of middle position</font></li> + <li><font face="Arial" size="2">3D border now drawn only if WS_EX_CLIENTEDGE + is set</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Printing:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Uses DWORD instead of an int for a job ID</font></li> + <li><font face="Arial" size="2">CPrintJob::CancelPrintJob shouldn't have a + return value</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Misc:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">CRegKey::QueryValue and SetValue are + deprecated in ATL7</font></li> + <li><font face="Arial" size="2">Added direct support for ATL7</font></li> + <li><font face="Arial" size="2">Replace ScreenToClient and ClientToScreen + with MapWindowPoints to support RTL layout</font></li> + <li><font face="Arial" size="2">CFindFile::GetFilePath(LPTSTR...) returns + path without the file name</font></li> + <li><font face="Arial" size="2">MDI: Updating client edge in + WM_WINDOWPOSCHANGING causes minimize/maximize/restore animation problems, + use WM_WINDOWPOSCHANGED</font></li> + <li><font face="Arial" size="2">Custom Draw: Added + CCustomDraw::OnSubItemPrePaint() overrideable method</font></li> + <li><font face="Arial" size="2">CFolderDialogImpl uses 'this' for + BROWSEINFO.lParam instead of T*</font></li> + <li><font face="Arial" size="2">CImageList::Destroy shouldn't use Detach()</font></li> + <li><font face="Arial" size="2">ATL7 has its own AtlLoadString</font></li> + <li><font face="Arial" size="2">CPropertySheet doesn't close when you press + X button</font></li> + <li><font face="Arial" size="2">Fixed problems for _U_STRINGorID and others + that moved from atlbase.h to atlwin.h in ATL7</font></li> + <li><font face="Arial" size="2">Add AtlMessageBox() that accepts either + in-memory or resource strings</font></li> + <li><font face="Arial" size="2">CScrollImpl: fixed bug with scrolling child + windows</font></li> + <li><font face="Arial" size="2">CPropertyPageImpl: Add new notification + handlers to enable direct return values (use #ifdef _WTL_NEW_PAGE_NOTIFY_HANDLERS + to use them)</font></li> + <li><font face="Arial" size="2">Add AtlInitCommonControls() to simplify use</font></li> + <li><font face="Arial" size="2">DDX: Fixed usage of the size of char arrays + for DDX</font></li> + <li><font face="Arial" size="2">CPageSetupDialog: changed usage of + CWndProcThunk because of changes in ATL7</font></li> + <li><font face="Arial" size="2">Fix confusing precedence in expressions</font></li> + <li><font face="Arial" size="2">Removed forward declarations because default + values for template arguments shouldn't be specified in two places (we don't + need them anyway)</font></li> + <li><font face="Arial" size="2">Win64: Fix /Wp64 warnings from 32-bit VC7 + compiler caused by SDK headers</font></li> + <li><font face="Arial" size="2">Fix direct usage of English strings (they + can be #defined to something else now)</font></li> + <li><font face="Arial" size="2">AtlGetCommCtrlVersion not defined if _ATL_DLL + is in ATL 3.0 (and CmdBar is using it)</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">AppWizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added manifest for Common Controls 6</font></li> + <li><font face="Arial" size="2">Loading Rich Edit DLL should use HMODULE</font></li> + <li><font face="Arial" size="2">Should not use atlimpl.cpp for ATL7</font></li> + <li><font face="Arial" size="2">Added message handler prototypes to + generated files</font></li> + <li><font face="Arial" size="2">VERSION resource always has VALUE "OLESelfRegister" + (now only for COM servers)</font></li> + <li><font face="Arial" size="2">Added option for putting implementation in + CPP files</font></li> + <li><font face="Arial" size="2">d-tor for the thread manager class in MSDI + project executed after the heap is destroyed</font></li> + <li><font face="Arial" size="2">Wrong settings when changing to a dialog + project and back (AppWizard 6.0 only)</font></li> + <li><font face="Arial" size="2">Remove cut/copy/paste accelerators for form + view and dialogs projects</font></li> + <li><font face="Arial" size="2">Fix toolbar bitmaps so they are not + transparent (problem with Windows XP flat menus only)</font></li> + <li><font face="Arial" size="2">Used CMDICommandBarCtrl for MDI apps</font></li> + <li><font face="Arial" size="2">Add symbols required for VC7 Class Wizard to + recognize an ATL project</font></li> + <li><font face="Arial" size="2">Changed default styles for the rebar, so it + does look OK without CmdBar and with manifest</font></li> + <li><font face="Arial" size="2">Added setup programs for both AppWizards</font></li> + <li><font face="Arial" size="2">Remove ignored resource attributes: + MOVEABLE, PURE, etc. (AppWizard 7.0 only)</font></li> + <li><font face="Arial" size="2">Add call to DefWindowProc to WinMain to + resolve possible problems if MSLU is used</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Samples:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Updated toolbar bitmaps, added #ifdefs for + ATL7, added manifest file for CommCtrl6, qualified _U_RECT with WTL + namespace, updated use of deprecated CRegKey functions, added VC7 projects</font></li> + <li><font face="Arial" size="2">Added Alpha sample</font></li> + </ul> +</blockquote> +<p style=margin:0in> </p> +<p style=margin:0in> </p> +<p style=margin:0in><b><font face="Arial"> +<a name="Changes Between WTL 3.1 And 3.0"></a>Changes Between WTL 3.1 And +3.0</font></b></p> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">New classes:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">CPaneContainer - implements a window that + provides a title bar and a close button (like Explorer)</font></p> + <p style=margin:0in><font face="Arial" size="2">CDialogResize - an MI class that allows + resizing of dialogs (or any windows with child windows/controls)</font></p> + <p style=margin:0in><font face="Arial" size="2">CAxPropertyPageImpl - implements a property + page that can host ActiveX controls</font></p> +</blockquote> +<p style=margin:0in> </p> +<p style=margin:0in><font face="Arial" size="2">Fixes and enhancements:</font></p> +<blockquote style='margin-top:0in;margin-bottom:0in'> + <p style=margin:0in><font face="Arial" size="2">CServerAppModule now clears m_hEventShutdown to + avoid calling CloseHandle twice</font></p> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CString:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">operator += now leaves original string + intact if it's out of memory</font></li> + <li><font face="Arial" size="2">Fixed bad DWORD_PTR usage in TrimRight, + TrimLeft, Replace, Remove</font></li> + <li><font face="Arial" size="2">Removed dependencies on CRT for projects + that don't use it</font></li> + <li><font face="Arial" size="2">Insert - fixed string corruption in release + builds</font></li> + <li><font face="Arial" size="2">Added optional floating point formatting + (for projects that use CRT)</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CEdit and CRichEditCtrl: SetSelAll and + SetSelNone had reversed implementation</font></p> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">atlres.h: Changed IDs so that they are + compatible with MFC's afxres.h</font></p> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Command Bar:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added LoadMappedImages()</font></li> + <li><font face="Arial" size="2">Changed handling of left and right arrow + keys so that they don't close context menus</font></li> + <li><font face="Arial" size="2">Add code to handle left/right arrow keys + correctly on mirrored (RTL) systems</font></li> + <li><font face="Arial" size="2">Removed handler that eats parent window's + WM_SETTINGCHANGE</font></li> + <li><font face="Arial" size="2">Fixed bitmap resource leak in + Draw3DCheckmark</font></li> + <li><font face="Arial" size="2">Fixed incorrect usage of CharLower in + OnMenuChar</font></li> + <li><font face="Arial" size="2">Fixed wrong color for the disabled items in + hi-contrast mode</font></li> + <li><font face="Arial" size="2">Added code to gray menu items if main window + is inactive</font></li> + <li><font face="Arial" size="2">Fixed keyboard mnemonic handling for IE 4</font></li> + <li><font face="Arial" size="2">Fixed hook problems with multiple cmdbars in + the same thread</font></li> + <li><font face="Arial" size="2">Added support for radio menu items</font></li> + <li><font face="Arial" size="2">Added support for disabled top-level menu + items (also added in CFrameWindowImpl::PrepareChevronMenu)</font></li> + <li><font face="Arial" size="2">Added keyboard shortcut (Alt+/) to invoke + chevron menu</font></li> + <li><font face="Arial" size="2">Added support to override menu item length + in a derived class</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CBitmapButton:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Bypassed BUTTON DefWindowProc for hover + style so that the button doesn't take focus</font></li> + <li><font face="Arial" size="2">Added BMPBTN_AUTOFIRE extended style</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CDC:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added _WTL_FORWARD_DECLARE_CSTRING define to + allow usage of methods that accept CString</font></li> + <li><font face="Arial" size="2">Fixed errors in GetTextFace and + GetMenuItemString</font></li> + <li><font face="Arial" size="2">Added GetCharWidth32</font></li> + <li><font face="Arial" size="2">Added DrawIconEx method</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CMenu:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Implement following missing methods:<br> + GetMenuDefaultItem<br> + GetMenuInfo<br> + GetMenuItemRect<br> + HiliteMenuItem<br> + IsMenu<br> + MenuItemFromPoint<br> + SetMenuDefaultItem<br> + SetMenuInfo</font></li> + <li><font face="Arial" size="2">GetMenuString - fixed to include space for + terminating NULL character in returning string</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">GDI and USER classes should destroy the + GDI/USER objects in Attach if GDI/USER resource is managed</font></p> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CFrameWindowImpl:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">OnToolTipText shouldn't save tool tip text + if it's not for a menu</font></li> + <li><font face="Arial" size="2">AddSimpleReBarBandCtrl now adds chevron + style only for toolbars with buttons</font></li> + <li><font face="Arial" size="2">AddSimpleReBarBand(Ctrl) - calc band ID if + not specified</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CRecentDocumentList:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Fix - UpdateMenu deletes wrong menu item + when the list is empty</font></li> + <li><font face="Arial" size="2">Added code to allow restricting the number + of characters displayed by MRU menu items</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Update UI:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added support for blocking accelerators for + disabled items</font></li> + <li><font face="Arial" size="2">Improved search code assuming there are no + duplicate entries (and added checks for duplicates)</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">CSplitterWindow:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">CSplitterWindowImpl should derive from + CSplitterImpl<T , t_bVertical> to allow overriding of methods</font></li> + <li><font face="Arial" size="2">Added single pane mode and SetSinglePaneMode/GetSinglePaneMode</font></li> + <li><font face="Arial" size="2">Added right/bottom aligned resize mode using + extended styles SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">atlcrack.h: Added handlers for following new + messages:<br> + WM_APPCOMMAND<br> + WM_NCXBUTTONDOWN<br> + WM_NCXBUTTONUP<br> + WM_NCXBUTTONDBLCLK<br> + WM_XBUTTONDOWN<br> + WM_XBUTTONUP<br> + WM_XBUTTONDBLCLK</font></p> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Win64:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Dialog return value should use + DWLP_MSGRESULT and SetWindowLongPtr</font></li> + <li><font face="Arial" size="2">CMenu::InsertMenu, AppendMenu, ModifyMenu + should have UINT_PTR for the menu ID</font></li> + <li><font face="Arial" size="2">Added appropriate type casts</font></li> + <li><font face="Arial" size="2">CFrameWindowImpl::m_szAutoName - changed the + size to fit the pointer value size</font></li> + <li><font face="Arial" size="2">CListViewCtrl::SortItems should use LPARAM + for user data instead of DWORD</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">Misc:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">Added optional mask argument to all methods + for setting extended styles</font></li> + <li><font face="Arial" size="2">CMDIWindow::MDIRestore - fixed to send + WM_MDIRESTORE instead of WM_MDIICONARRANGE</font></li> + <li><font face="Arial" size="2">CListViewCtrl: Added SortItemsEx method</font></li> + <li><font face="Arial" size="2">CToolBarCtrl::GetButtonInfo - fixed to + return int instead of BOOL</font></li> + <li><font face="Arial" size="2">Added CToolBarCtrl::SetButtonSize and + SetBitmapSize that accept cx and cy instead of SIZE</font></li> + <li><font face="Arial" size="2">Printing: Changed how GetNewDevModeForPage + works (comments in code)</font></li> + <li><font face="Arial" size="2">CFileDialogImpl::_OnTypeChange incorrectly + calls pT->OnSelChange instead of pT->OnTypeChange</font></li> + <li><font face="Arial" size="2">CMultiPaneStatusBarCtrl::GetPaneTipText - + fixed to use index instead of and ID internally</font></li> + <li><font face="Arial" size="2">CWinDataExchange: Added references to + arguments of DoDataExchange, so there are no level 4 warning even if the map + is empty</font></li> + <li><font face="Arial" size="2">CPropertySheetWindow: Added new, IE 5.0 + specific methods</font></li> + <li><font face="Arial" size="2">CPropertyPageImpl: Added new, IE 5.0 + specific methods</font></li> + </ul> + <p style=margin:0in> </p> + <p style=margin:0in><font face="Arial" size="2">AppWizard:</font></p> + <ul style='margin-top:0in;margin-bottom:0in'> + <li><font face="Arial" size="2">added calls to RemoveMessageFilter and + RemoveIdleHandler in CMainFrame::OnDestroy for COM server projects</font></li> + <li><font face="Arial" size="2">added scroll bars for HTML view</font></li> + <li><font face="Arial" size="2">CAppServerModule now handles -embedding as + well as -automation</font></li> + <li><font face="Arial" size="2">corrected code in CMainFrame::OnShowToolBar + to correctly identify the toolbar in a rebar</font></li> + <li><font face="Arial" size="2">dialog based app code now derives from + CUpdateUI as public</font></li> + </ul> +</blockquote> +<p style=margin:0in> </p> + +<p style=margin:0in><font face="Arial" size="2">- end of readme.htm -</font></p> + +</body> + +</html>
\ No newline at end of file |