|
1
|
1 <html>
|
|
|
2
|
|
|
3 <head>
|
|
|
4 <meta http-equiv="Content-Language" content="en-us">
|
|
|
5 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
|
|
6 <title>Windows Template Library</title>
|
|
|
7 <style type="text/css">
|
|
|
8 html, body {
|
|
|
9 width: 800px;
|
|
|
10 font-family: Arial;
|
|
|
11 font-size: 10pt;
|
|
|
12 }
|
|
|
13 .wtl10 {
|
|
|
14 font-family: Arial;
|
|
|
15 font-size: 12pt;
|
|
|
16 }
|
|
|
17 .table1 {
|
|
|
18 font-family: Arial;
|
|
|
19 font-size: 10pt;
|
|
|
20 }
|
|
|
21 .code1 {
|
|
|
22 font-family: Courier;
|
|
|
23 font-size: 10pt;
|
|
|
24 margin-left:4ch
|
|
|
25 }
|
|
|
26 </style>
|
|
|
27 </head>
|
|
|
28
|
|
|
29 <body>
|
|
|
30
|
|
|
31 <table class="table1" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
|
|
|
32 <tr>
|
|
|
33 <td>
|
|
|
34 <span class="wtl10"><b>Windows Template Library - WTL 10</b></span>
|
|
|
35
|
|
|
36 version 10.0.10077 (2020-03-17)
|
|
|
37 </td>
|
|
|
38 </tr>
|
|
|
39 <tr>
|
|
|
40 <td><hr></td>
|
|
|
41 </tr>
|
|
|
42 <tr>
|
|
|
43 <td>Copyright © 2020 Microsoft Corporation, WTL Team. All rights reserved.</td>
|
|
|
44 </tr>
|
|
|
45 <tr>
|
|
|
46 <td><br></td>
|
|
|
47 </tr>
|
|
|
48 <tr>
|
|
|
49 <td>
|
|
|
50 This file is a part of the Windows Template Library.<br>
|
|
|
51 The use and distribution terms for this software are covered by the<br>
|
|
|
52 Microsoft Public License (<a target="_blank" href="http://opensource.org/licenses/MS-PL">http://opensource.org/licenses/MS-PL</a>)<br>
|
|
|
53 which can be found in the file MS-PL.txt at the root folder.
|
|
|
54 </td>
|
|
|
55 </tr>
|
|
|
56 <tr>
|
|
|
57 <td><hr></td>
|
|
|
58 </tr>
|
|
|
59 </table>
|
|
|
60 <p style=margin:0px><br></p>
|
|
|
61
|
|
|
62 <p>Welcome to the Windows Template Library, version 10. This document contains the following topics:</p>
|
|
|
63
|
|
|
64 <ul>
|
|
|
65 <li><a href="#Introduction">Introduction</a></li>
|
|
|
66 <li><a href="#Features and Installation">Features and Installation</a></li>
|
|
|
67 <li><a href="#Packing List">Packing List</a></li>
|
|
|
68 <li><a href="#Class Overview">Class Overview</a></li>
|
|
|
69 <li><a href="#ATL/WTL AppWizard">ATL/WTL AppWizard</a></li>
|
|
|
70 <li><a href="#WTL in MFC">How to use WTL in an MFC project</a></li>
|
|
|
71 <li><a href="#WTL Releases">WTL Releases</a></li>
|
|
|
72 </ul>
|
|
|
73 <p style=margin:0px><br></p>
|
|
|
74
|
|
|
75 <h3 style=margin:0px>Introduction</h3>
|
|
|
76 <p>
|
|
|
77 Windows Template Library, or WTL, is a set of
|
|
|
78 classes that extend ATL to support more complex user interfaces for either
|
|
|
79 applications or various UI components, while maintaining the big advantage of
|
|
|
80 ATL - small and fast code. WTL classes were designed to be the best and the
|
|
|
81 easiest way to implement rich Win32 based UI for ATL based applications,
|
|
|
82 servers, components, and controls.
|
|
|
83 </p>
|
|
|
84
|
|
|
85 <p>
|
|
|
86 WTL provides support for implementing many
|
|
|
87 user interface elements, from frame and popup windows, to MDI, standard and
|
|
|
88 common controls, common dialogs, property sheets and pages, GDI objects, UI
|
|
|
89 updating, scrollable windows, splitter windows, command bars, etc. The WTL
|
|
|
90 classes are mostly templated and use minimal instance data and inline functions.
|
|
|
91 They were not designed as a framework, so they do not force a particular
|
|
|
92 application model, and can accommodate any. The classes do not use hooks or
|
|
|
93 thread local storage, so they have no restrictions that those techniques impose.
|
|
|
94 They also have no inter-dependencies and can be freely mixed with straight SDK
|
|
|
95 code. In summary, WTL delivers very small and efficient code, very close in size
|
|
|
96 and speed to SDK programs, while presenting a more logical, object oriented
|
|
|
97 model to a programmer.
|
|
|
98 </p>
|
|
|
99 <p style=margin:0px><br></p>
|
|
|
100
|
|
|
101 <h3 style=margin:0px><a name="Features and Installation"></a>Features and Installation</h3>
|
|
|
102
|
|
|
103 <p>
|
|
|
104 This is the ninth public release of WTL. This version is released
|
|
|
105 under the Microsoft Public License, enabling developers from the WTL community to
|
|
|
106 contribute to the library.
|
|
|
107 </p>
|
|
|
108 <p>
|
|
|
109 WTL classes can be used with all versions of VC++ from 2005 to the newest, 2019.
|
|
|
110 AppWizard for Visual Studio is included.
|
|
|
111 </p>
|
|
|
112 <p>
|
|
|
113 The WTL classes are provided in header files located in the include directory.
|
|
|
114 The only header files that must be included is atlapp.h, while others can be used when needed.
|
|
|
115 The name of the file doesn't mean that you have to create an application, just that
|
|
|
116 atlapp.h contains base definitions required for WTL projects.
|
|
|
117 </p>
|
|
|
118 <p>
|
|
|
119 To install WTL, just copy the whole directory structure, or unpack the archive file,
|
|
|
120 to the location of your choice. Please be sure to <b>add the WTL\include directory</b>
|
|
|
121 to the list of include directories in VC++, so that the compiler
|
|
|
122 can find them when you include them in your projects.
|
|
|
123 </p>
|
|
|
124 <p>
|
|
|
125 Setup programs for the AppWizard are provided. After executing the setup script,
|
|
|
126 ATL/WTL AppWizard will appear in the list of AppWizards when you select File.New.Project
|
|
|
127 in VC++ IDE. The file AppWiz\setup.js is the setup script for all supported versions of Visual Studio.
|
|
|
128 </p>
|
|
|
129 <p>
|
|
|
130 To manually install AppWizard for VC++ 2005, copy all WTLAppWiz.* files from AppWiz\Files to VC++
|
|
|
131 projects directory, %VCDIR%\VC\vcprojects, where %VCDIR% is the directory
|
|
|
132 where VC++ 2005 is installed. After that, open WTL10AppWiz.vsz and modify the
|
|
|
133 line that contains ABSOLUTE_PATH to contain %WTLDIR%\AppWiz\Files, where
|
|
|
134 %WTLDIR% is the directory where WTL files are.
|
|
|
135 </p>
|
|
|
136
|
|
|
137 <p style=margin:0px>Compiler/IDE/ATL support:</p>
|
|
|
138 <ul style=margin:0px>
|
|
|
139 <li>Visual C++ 2005 (ATL 8.0)</li>
|
|
|
140 <li>Visual C++ 2008 (ATL 9.0)</li>
|
|
|
141 <li>Visual C++ 2010 (ATL 10.0)</li>
|
|
|
142 <li>Visual C++ 2012 (ATL 11.0)</li>
|
|
|
143 <li>Visual C++ 2013 (ATL 12.0)</li>
|
|
|
144 <li>Visual C++ 2015 (ATL 14.0)</li>
|
|
|
145 <li>Visual C++ 2017 (ATL 14.0)</li>
|
|
|
146 <li>Visual C++ 2019 (ATL 14.0)</li>
|
|
|
147 </ul>
|
|
|
148 <p style=margin:0px><br></p>
|
|
|
149
|
|
|
150 <p style=margin:0px>Windows SDK support (optional):</p>
|
|
|
151 <ul style=margin:0px>
|
|
|
152 <li>Windows SDK 6.0 or newer</li>
|
|
|
153 </ul>
|
|
|
154 <p style=margin:0px><br></p>
|
|
|
155 <p style=margin:0px><br></p>
|
|
|
156
|
|
|
157 <h3 style=margin:0px><a name="Packing List"></a>Packing List</h3>
|
|
|
158 <p style=margin:0px><br></p>
|
|
|
159
|
|
|
160 <table class="table1" border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="497">
|
|
|
161 <tr>
|
|
|
162 <td width="136">File Name:</td>
|
|
|
163 <td width="358">Description:</td>
|
|
|
164 </tr>
|
|
|
165 <tr>
|
|
|
166 <td width="494" colspan="2"><hr></td>
|
|
|
167 </tr>
|
|
|
168 <tr>
|
|
|
169 <td width="136">readme.html</td>
|
|
|
170 <td width="358">this file</td>
|
|
|
171 </tr>
|
|
|
172 <tr>
|
|
|
173 <td width="136">MS-PL.txt</td>
|
|
|
174 <td width="358">Microsoft Public License</td>
|
|
|
175 </tr>
|
|
|
176 <tr>
|
|
|
177 <td width="494" colspan="2"> </td>
|
|
|
178 </tr>
|
|
|
179 <tr>
|
|
|
180 <td width="494" colspan="2">include\</td>
|
|
|
181 </tr>
|
|
|
182 <tr>
|
|
|
183 <td width="136"> atlapp.h</td>
|
|
|
184 <td width="358">message loop, interfaces,
|
|
|
185 general app stuff</td>
|
|
|
186 </tr>
|
|
|
187 <tr>
|
|
|
188 <td width="136"> atlcrack.h</td>
|
|
|
189 <td width="358">message cracker macros</td>
|
|
|
190 </tr>
|
|
|
191 <tr>
|
|
|
192 <td width="136"> atlctrls.h</td>
|
|
|
193 <td width="358">standard and common control
|
|
|
194 classes</td>
|
|
|
195 </tr>
|
|
|
196 <tr>
|
|
|
197 <td width="136"> atlctrlw.h</td>
|
|
|
198 <td width="358">command bar class</td>
|
|
|
199 </tr>
|
|
|
200 <tr>
|
|
|
201 <td width="136"> atlctrlx.h</td>
|
|
|
202 <td width="358">bitmap button, check list view,
|
|
|
203 and other controls</td>
|
|
|
204 </tr>
|
|
|
205 <tr>
|
|
|
206 <td width="136"> atlddx.h</td>
|
|
|
207 <td width="358">data exchange for dialogs and
|
|
|
208 windows</td>
|
|
|
209 </tr>
|
|
|
210 <tr>
|
|
|
211 <td width="136"> atldlgs.h</td>
|
|
|
212 <td width="358">common dialog classes, property
|
|
|
213 sheet and page classes</td>
|
|
|
214 </tr>
|
|
|
215 <tr>
|
|
|
216 <td width="136"> atldwm.h</td>
|
|
|
217 <td width="358">DWM support classes</td>
|
|
|
218 </tr>
|
|
|
219 <tr>
|
|
|
220 <td width="136"> atlfind.h</td>
|
|
|
221 <td width="358">Find/Replace support for Edit
|
|
|
222 and RichEdit</td>
|
|
|
223 </tr>
|
|
|
224 <tr>
|
|
|
225 <td width="136"> atlframe.h</td>
|
|
|
226 <td width="358">frame window classes, MDI,
|
|
|
227 update UI classes</td>
|
|
|
228 </tr>
|
|
|
229 <tr>
|
|
|
230 <td width="136"> atlgdi.h</td>
|
|
|
231 <td width="358">DC classes, GDI object classes</td>
|
|
|
232 </tr>
|
|
|
233 <tr>
|
|
|
234 <td width="136"> atlmisc.h</td>
|
|
|
235 <td width="358">WTL ports of CPoint, CRect,
|
|
|
236 CSize, CString, etc.</td>
|
|
|
237 </tr>
|
|
|
238 <tr>
|
|
|
239 <td width="136"> atlprint.h</td>
|
|
|
240 <td width="358">printing and print preview</td>
|
|
|
241 </tr>
|
|
|
242 <tr>
|
|
|
243 <td width="136"> atlres.h</td>
|
|
|
244 <td width="358">standard resource IDs</td>
|
|
|
245 </tr>
|
|
|
246 <tr>
|
|
|
247 <td width="136"> atlribbon.h</td>
|
|
|
248 <td width="358">RibbonUI support</td>
|
|
|
249 </tr>
|
|
|
250 <tr>
|
|
|
251 <td width="136"> atlscrl.h</td>
|
|
|
252 <td width="358">scrollable windows</td>
|
|
|
253 </tr>
|
|
|
254 <tr>
|
|
|
255 <td width="136"> atlsplit.h</td>
|
|
|
256 <td width="358">splitter windows</td>
|
|
|
257 </tr>
|
|
|
258 <tr>
|
|
|
259 <td width="136"> atltheme.h</td>
|
|
|
260 <td width="358">Windows XP theme classes</td>
|
|
|
261 </tr>
|
|
|
262 <tr>
|
|
|
263 <td width="136"> atluser.h</td>
|
|
|
264 <td width="358">menu class, USER object classes</td>
|
|
|
265 </tr>
|
|
|
266 <tr>
|
|
|
267 <td width="136"> atlwinx.h</td>
|
|
|
268 <td width="358">extensions of ATL windowing
|
|
|
269 support</td>
|
|
|
270 </tr>
|
|
|
271 <tr>
|
|
|
272 <td width="494" colspan="2"> </td>
|
|
|
273 </tr>
|
|
|
274 <tr>
|
|
|
275 <td width="494" colspan="2">Samples\</td>
|
|
|
276 </tr>
|
|
|
277 <tr>
|
|
|
278 <td width="136"> Aero\...</td>
|
|
|
279 <td width="358">Vista Aero glass showcase</td>
|
|
|
280 </tr>
|
|
|
281 <tr>
|
|
|
282 <td width="136"> Alpha\...</td>
|
|
|
283 <td width="358">Windows XP 32-bit (alpha)
|
|
|
284 toolbar images</td>
|
|
|
285 </tr>
|
|
|
286 <tr>
|
|
|
287 <td width="136"> BmpView\...</td>
|
|
|
288 <td width="358">bitmap file view sample</td>
|
|
|
289 </tr>
|
|
|
290 <tr>
|
|
|
291 <td width="136"> GuidGen\...</td>
|
|
|
292 <td width="358">WTL version of the GuidGen
|
|
|
293 sample</td>
|
|
|
294 </tr>
|
|
|
295 <tr>
|
|
|
296 <td width="136"> MDIDocVw\...</td>
|
|
|
297 <td width="358">WTL version of the MDI sample</td>
|
|
|
298 </tr>
|
|
|
299 <tr>
|
|
|
300 <td width="136"> MemDlg\...</td>
|
|
|
301 <td width="358">In-memory dialog sample</td>
|
|
|
302 </tr>
|
|
|
303 <tr>
|
|
|
304 <td width="136"> MTPad\...</td>
|
|
|
305 <td width="358">multithreaded notepad sample</td>
|
|
|
306 </tr>
|
|
|
307 <tr>
|
|
|
308 <td width="136"> MTPad7\...</td>
|
|
|
309 <td width="358">MTPad with RibbonUI</td>
|
|
|
310 </tr>
|
|
|
311 <tr>
|
|
|
312 <td width="136"> TabBrowser\...</td>
|
|
|
313 <td width="358">Web browser using TabView</td>
|
|
|
314 </tr>
|
|
|
315 <tr>
|
|
|
316 <td width="136"> Wizard97Test\...</td>
|
|
|
317 <td width="358">Wizard97 showcase
|
|
|
318 sample</td>
|
|
|
319 </tr>
|
|
|
320 <tr>
|
|
|
321 <td width="136"> WTLExplorer\...</td>
|
|
|
322 <td width="358">Explorer-like application
|
|
|
323 sample</td>
|
|
|
324 </tr>
|
|
|
325 <tr>
|
|
|
326 <td width="494" colspan="2"> </td>
|
|
|
327 </tr>
|
|
|
328 <tr>
|
|
|
329 <td width="494" colspan="2">AppWiz\</td>
|
|
|
330 </tr>
|
|
|
331 <tr>
|
|
|
332 <td width="136"> setup.js</td>
|
|
|
333 <td width="358">AppWizard setup program for all versions of
|
|
|
334 Visual Studio</td>
|
|
|
335 </tr>
|
|
|
336 <tr>
|
|
|
337 <td width="136"> Files\...</td>
|
|
|
338 <td width="358">WTL AppWizard files</td>
|
|
|
339 </tr>
|
|
|
340 </table>
|
|
|
341 <p style=margin:0px><br></p>
|
|
|
342 <p style=margin:0px><br></p>
|
|
|
343
|
|
|
344 <h3 style=margin:0px><a name="Class Overview"></a>Class Overview</h3>
|
|
|
345 <p style=margin:0px><br></p>
|
|
|
346
|
|
|
347 <table class="table1" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
|
|
|
348 <tr>
|
|
|
349 <td>usage: </td>
|
|
|
350 <td><b>mi base</b></td>
|
|
|
351 <td> -</td>
|
|
|
352 <td> a base class (multiple inheritance)</td>
|
|
|
353 </tr>
|
|
|
354 <tr>
|
|
|
355 <td> </td>
|
|
|
356 <td><b>client</b></td>
|
|
|
357 <td> -</td>
|
|
|
358 <td> wrapper class for a handle</td>
|
|
|
359 </tr>
|
|
|
360 <tr>
|
|
|
361 <td> </td>
|
|
|
362 <td><b>as-is</b></td>
|
|
|
363 <td> -</td>
|
|
|
364 <td> to be used directly</td>
|
|
|
365 </tr>
|
|
|
366 <tr>
|
|
|
367 <td> </td>
|
|
|
368 <td><b>impl</b></td>
|
|
|
369 <td> -</td>
|
|
|
370 <td> implements a window (has
|
|
|
371 WindowProc) or other support</td>
|
|
|
372 </tr>
|
|
|
373 <tr>
|
|
|
374 <td> </td>
|
|
|
375 <td><b>helper</b></td>
|
|
|
376 <td> -</td>
|
|
|
377 <td> a helper class</td>
|
|
|
378 </tr>
|
|
|
379 <tr>
|
|
|
380 <td> </td>
|
|
|
381 <td><b>base</b></td>
|
|
|
382 <td> -</td>
|
|
|
383 <td> implementation base class</td>
|
|
|
384 </tr>
|
|
|
385 </table>
|
|
|
386 <p style=margin:0px><br></p>
|
|
|
387
|
|
|
388 <table class="table1" border="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="600">
|
|
|
389 <tr>
|
|
|
390 <td width="220"><b>class name:</b></td>
|
|
|
391 <td width="114"><b>usage:</b></td>
|
|
|
392 <td width="253"><b>description:</b></td>
|
|
|
393 </tr>
|
|
|
394 <tr>
|
|
|
395 <td colspan="3" width="593"><br>App/module support</td>
|
|
|
396 </tr>
|
|
|
397 <tr>
|
|
|
398 <td width="221"><b>CAppModule</b></td>
|
|
|
399 <td width="115">as-is</td>
|
|
|
400 <td width="255">app support, CComModule derived</td>
|
|
|
401 </tr>
|
|
|
402 <tr>
|
|
|
403 <td width="221"><b>CServerAppModule</b></td>
|
|
|
404 <td width="115">as-is</td>
|
|
|
405 <td width="255">module for COM servers</td>
|
|
|
406 </tr>
|
|
|
407 <tr>
|
|
|
408 <td width="221"><b>CMessageLoop</b></td>
|
|
|
409 <td width="115">as-is</td>
|
|
|
410 <td width="255">message loop</td>
|
|
|
411 </tr>
|
|
|
412 <tr>
|
|
|
413 <td width="221"><b>CMessageFilter</b></td>
|
|
|
414 <td width="115">mi base</td>
|
|
|
415 <td width="255">message filter interface</td>
|
|
|
416 </tr>
|
|
|
417 <tr>
|
|
|
418 <td width="221"><b>CIdleHandler</b></td>
|
|
|
419 <td width="115">mi base</td>
|
|
|
420 <td width="255">idle time handler interface</td>
|
|
|
421 </tr>
|
|
|
422 <tr>
|
|
|
423 <td colspan="3" width="593"><br>Frame windows</td>
|
|
|
424 </tr>
|
|
|
425 <tr>
|
|
|
426 <td width="221"><b>CFrameWindowImplBase</b></td>
|
|
|
427 <td width="115">base</td>
|
|
|
428 <td width="255"> </td>
|
|
|
429 </tr>
|
|
|
430 <tr>
|
|
|
431 <td width="221"><b>CFrameWindowImpl</b></td>
|
|
|
432 <td width="115">impl</td>
|
|
|
433 <td width="255">frame window support</td>
|
|
|
434 </tr>
|
|
|
435 <tr>
|
|
|
436 <td width="221"><b>COwnerDraw</b></td>
|
|
|
437 <td width="115">impl mi base</td>
|
|
|
438 <td width="255">owner-draw msg map and handlers</td>
|
|
|
439 </tr>
|
|
|
440 <tr>
|
|
|
441 <td width="221"><b>CDialogResize
|
|
|
442 </b></td>
|
|
|
443 <td width="115">impl mi base</td>
|
|
|
444 <td width="255">support for resizing dialogs</td>
|
|
|
445 </tr>
|
|
|
446 <tr>
|
|
|
447 <td width="221"><b>CDoubleBufferImpl
|
|
|
448 </b></td>
|
|
|
449 <td width="115">impl mi</td>
|
|
|
450 <td width="255">double-buffer painting support</td>
|
|
|
451 </tr>
|
|
|
452 <tr>
|
|
|
453 <td width="221"><b>CDoubleBufferWindowImpl
|
|
|
454 </b></td>
|
|
|
455 <td width="115">impl</td>
|
|
|
456 <td width="255">double-buffer painting window</td>
|
|
|
457 </tr>
|
|
|
458 <tr>
|
|
|
459 <td colspan="3" width="593"><br>MDI windows</td>
|
|
|
460 </tr>
|
|
|
461 <tr>
|
|
|
462 <td width="221"><b>CMDIWindow</b></td>
|
|
|
463 <td width="115">client</td>
|
|
|
464 <td width="255">MDI methods</td>
|
|
|
465 </tr>
|
|
|
466 <tr>
|
|
|
467 <td width="221"><b>CMDIFrameWindowImpl</b></td>
|
|
|
468 <td width="115">impl</td>
|
|
|
469 <td width="255">MDI frame window</td>
|
|
|
470 </tr>
|
|
|
471 <tr>
|
|
|
472 <td width="221"><b>CMDIChildWindowImpl</b></td>
|
|
|
473 <td width="115">impl</td>
|
|
|
474 <td width="255">MDI child window</td>
|
|
|
475 </tr>
|
|
|
476 <tr>
|
|
|
477 <td colspan="3" width="593"><br>Update UI</td>
|
|
|
478 </tr>
|
|
|
479 <tr>
|
|
|
480 <td width="221"><b>CUpdateUIBase</b></td>
|
|
|
481 <td width="115">base</td>
|
|
|
482 <td width="255"> </td>
|
|
|
483 </tr>
|
|
|
484 <tr>
|
|
|
485 <td width="221"><b>CUpdateUI</b></td>
|
|
|
486 <td width="115">mi base class</td>
|
|
|
487 <td width="255">provides support for UI update</td>
|
|
|
488 </tr>
|
|
|
489 <tr>
|
|
|
490 <td width="221"><b>CDynamicUpdateUI</b></td>
|
|
|
491 <td width="115">mi base class</td>
|
|
|
492 <td width="255">provides dynamic support for UI update</td>
|
|
|
493 </tr>
|
|
|
494 <tr>
|
|
|
495 <td colspan="3" width="593"><br>Standard controls</td>
|
|
|
496 </tr>
|
|
|
497 <tr>
|
|
|
498 <td width="221"><b>CStatic</b></td>
|
|
|
499 <td width="115">client</td>
|
|
|
500 <td width="255">static ctrl</td>
|
|
|
501 </tr>
|
|
|
502 <tr>
|
|
|
503 <td width="221"><b>CButton</b></td>
|
|
|
504 <td width="115">client</td>
|
|
|
505 <td width="255">button ctrl</td>
|
|
|
506 </tr>
|
|
|
507 <tr>
|
|
|
508 <td width="221"><b>CListBox</b></td>
|
|
|
509 <td width="115">client</td>
|
|
|
510 <td width="255">list box ctrl</td>
|
|
|
511 </tr>
|
|
|
512 <tr>
|
|
|
513 <td width="221"><b>CComboBox</b></td>
|
|
|
514 <td width="115">client</td>
|
|
|
515 <td width="255">combo box ctrl</td>
|
|
|
516 </tr>
|
|
|
517 <tr>
|
|
|
518 <td width="221"><b>CEdit</b></td>
|
|
|
519 <td width="115">client</td>
|
|
|
520 <td width="255">edit ctrl</td>
|
|
|
521 </tr>
|
|
|
522 <tr>
|
|
|
523 <td width="221"><b>CEditCommands</b></td>
|
|
|
524 <td width="115">mi</td>
|
|
|
525 <td width="255">standard edit command support</td>
|
|
|
526 </tr>
|
|
|
527 <tr>
|
|
|
528 <td width="221"><b>CScrollBar</b></td>
|
|
|
529 <td width="115">client</td>
|
|
|
530 <td width="255">scroll bar ctrl</td>
|
|
|
531 </tr>
|
|
|
532 <tr>
|
|
|
533 <td colspan="3" width="593"><br>Common controls</td>
|
|
|
534 </tr>
|
|
|
535 <tr>
|
|
|
536 <td width="221"><b>CImageList</b></td>
|
|
|
537 <td width="115">client</td>
|
|
|
538 <td width="255">image list</td>
|
|
|
539 </tr>
|
|
|
540 <tr>
|
|
|
541 <td width="221"><b>CListViewCtrl</b></td>
|
|
|
542 <td width="115">client</td>
|
|
|
543 <td width="255">list view ctrl</td>
|
|
|
544 </tr>
|
|
|
545 <tr>
|
|
|
546 <td width="221"><b>CTreeViewCtrl</b></td>
|
|
|
547 <td width="115">client</td>
|
|
|
548 <td width="255">tree view ctrl</td>
|
|
|
549 </tr>
|
|
|
550 <tr>
|
|
|
551 <td width="221"><b>CTreeItem</b></td>
|
|
|
552 <td width="115">helper</td>
|
|
|
553 <td width="255"> </td>
|
|
|
554 </tr>
|
|
|
555 <tr>
|
|
|
556 <td width="221"><b>CTreeViewCtrlEx</b></td>
|
|
|
557 <td width="115">client</td>
|
|
|
558 <td width="255">uses CTreeItem</td>
|
|
|
559 </tr>
|
|
|
560 <tr>
|
|
|
561 <td width="221"><b>CHeaderCtrl</b></td>
|
|
|
562 <td width="115">client</td>
|
|
|
563 <td width="255">header bar ctrl</td>
|
|
|
564 </tr>
|
|
|
565 <tr>
|
|
|
566 <td width="221"><b>CToolBarCtrl</b></td>
|
|
|
567 <td width="115">client</td>
|
|
|
568 <td width="255">toolbar ctrl</td>
|
|
|
569 </tr>
|
|
|
570 <tr>
|
|
|
571 <td width="221"><b>CStatusBarCtrl</b></td>
|
|
|
572 <td width="115">client</td>
|
|
|
573 <td width="255">status bar ctrl</td>
|
|
|
574 </tr>
|
|
|
575 <tr>
|
|
|
576 <td width="221"><b>CTabCtrl</b></td>
|
|
|
577 <td width="115">client</td>
|
|
|
578 <td width="255">tab ctrl</td>
|
|
|
579 </tr>
|
|
|
580 <tr>
|
|
|
581 <td width="221"><b>CToolTipCtrl</b></td>
|
|
|
582 <td width="115">client</td>
|
|
|
583 <td width="255">tool tip ctrl</td>
|
|
|
584 </tr>
|
|
|
585 <tr>
|
|
|
586 <td width="221"><b>CToolInfo</b></td>
|
|
|
587 <td width="115">helper</td>
|
|
|
588 <td width="255"> </td>
|
|
|
589 </tr>
|
|
|
590 <tr>
|
|
|
591 <td width="221"><b>CTrackBarCtrl</b></td>
|
|
|
592 <td width="115">client</td>
|
|
|
593 <td width="255">trackbar ctrl</td>
|
|
|
594 </tr>
|
|
|
595 <tr>
|
|
|
596 <td width="221"><b>CUpDownCtrl</b></td>
|
|
|
597 <td width="115">client</td>
|
|
|
598 <td width="255">up-down ctrl</td>
|
|
|
599 </tr>
|
|
|
600 <tr>
|
|
|
601 <td width="221"><b>CProgressBarCtrl</b></td>
|
|
|
602 <td width="115">client</td>
|
|
|
603 <td width="255">progress bar ctrl</td>
|
|
|
604 </tr>
|
|
|
605 <tr>
|
|
|
606 <td width="221"><b>CHotKeyCtrl</b></td>
|
|
|
607 <td width="115">client</td>
|
|
|
608 <td width="255">hot key ctrl</td>
|
|
|
609 </tr>
|
|
|
610 <tr>
|
|
|
611 <td width="221"><b>CAnimateCtrl</b></td>
|
|
|
612 <td width="115">client</td>
|
|
|
613 <td width="255">animation ctrl</td>
|
|
|
614 </tr>
|
|
|
615 <tr>
|
|
|
616 <td width="221"><b>CRichEditCtrl</b></td>
|
|
|
617 <td width="115">client</td>
|
|
|
618 <td width="255">rich edit ctrl</td>
|
|
|
619 </tr>
|
|
|
620 <tr>
|
|
|
621 <td width="221"><b>CRichEditCommands</b></td>
|
|
|
622 <td width="115">mi</td>
|
|
|
623 <td width="255">std rich edit commands support</td>
|
|
|
624 </tr>
|
|
|
625 <tr>
|
|
|
626 <td width="221"><b>CDragListBox</b></td>
|
|
|
627 <td width="115">client</td>
|
|
|
628 <td width="255">drag list box</td>
|
|
|
629 </tr>
|
|
|
630 <tr>
|
|
|
631 <td width="221"><b>CDragListNotifyImpl</b></td>
|
|
|
632 <td width="115">impl mi class</td>
|
|
|
633 <td width="255">support for notifications</td>
|
|
|
634 </tr>
|
|
|
635 <tr>
|
|
|
636 <td width="221"><b>CReBarCtrl</b></td>
|
|
|
637 <td width="115">client</td>
|
|
|
638 <td width="255">rebar ctrl</td>
|
|
|
639 </tr>
|
|
|
640 <tr>
|
|
|
641 <td width="221"><b>CComboBoxEx</b></td>
|
|
|
642 <td width="115">client</td>
|
|
|
643 <td width="255">extended combo box</td>
|
|
|
644 </tr>
|
|
|
645 <tr>
|
|
|
646 <td width="221"><b>CDateTimePickerCtrl</b></td>
|
|
|
647 <td width="115">client</td>
|
|
|
648 <td width="255">date-time ctrl</td>
|
|
|
649 </tr>
|
|
|
650 <tr>
|
|
|
651 <td width="221"><b>CFlatScrollBarImpl</b></td>
|
|
|
652 <td width="115">mi impl</td>
|
|
|
653 <td width="255">flat scroll bars support</td>
|
|
|
654 </tr>
|
|
|
655 <tr>
|
|
|
656 <td width="221"><b>CFlatScrollBar</b></td>
|
|
|
657 <td width="115">as-is</td>
|
|
|
658 <td width="255">flat scroll bars support</td>
|
|
|
659 </tr>
|
|
|
660 <tr>
|
|
|
661 <td width="221"><b>CIPAddressCtrl</b></td>
|
|
|
662 <td width="115">client</td>
|
|
|
663 <td width="255">IP address ctrl</td>
|
|
|
664 </tr>
|
|
|
665 <tr>
|
|
|
666 <td width="221"><b>CMonthCalendarCtrl</b></td>
|
|
|
667 <td width="115">client</td>
|
|
|
668 <td width="255">month calendar ctrl</td>
|
|
|
669 </tr>
|
|
|
670 <tr>
|
|
|
671 <td width="221"><b>CCustomDraw</b></td>
|
|
|
672 <td width="115">impl mi class</td>
|
|
|
673 <td width="255">custom draw handling support</td>
|
|
|
674 </tr>
|
|
|
675 <tr>
|
|
|
676 <td colspan="3" width="593"><br>Property sheet & page</td>
|
|
|
677 </tr>
|
|
|
678 <tr>
|
|
|
679 <td width="221"><b>CPropertySheetWindow</b></td>
|
|
|
680 <td width="115">client</td>
|
|
|
681 <td width="255"> </td>
|
|
|
682 </tr>
|
|
|
683 <tr>
|
|
|
684 <td width="221"><b>CPropertySheetImpl</b></td>
|
|
|
685 <td width="115">impl</td>
|
|
|
686 <td width="255">property sheet </td>
|
|
|
687 </tr>
|
|
|
688 <tr>
|
|
|
689 <td width="221"><b>CPropertySheet</b></td>
|
|
|
690 <td width="115">as-is</td>
|
|
|
691 <td width="255"> </td>
|
|
|
692 </tr>
|
|
|
693 <tr>
|
|
|
694 <td width="221"><b>CPropertyPageWindow</b></td>
|
|
|
695 <td width="115">client</td>
|
|
|
696 <td width="255"> </td>
|
|
|
697 </tr>
|
|
|
698 <tr>
|
|
|
699 <td width="221"><b>CPropertyPageImpl</b></td>
|
|
|
700 <td width="115">impl</td>
|
|
|
701 <td width="255">property page</td>
|
|
|
702 </tr>
|
|
|
703 <tr>
|
|
|
704 <td width="221"><b>CPropertyPage</b></td>
|
|
|
705 <td width="115">as-is</td>
|
|
|
706 <td width="255"> </td>
|
|
|
707 </tr>
|
|
|
708 <tr>
|
|
|
709 <td width="221"><b>CAxPropertyPageImpl</b></td>
|
|
|
710 <td width="115">impl</td>
|
|
|
711 <td width="255">property page with ActiveX</td>
|
|
|
712 </tr>
|
|
|
713 <tr>
|
|
|
714 <td width="221"><b>CAxPropertyPage</b></td>
|
|
|
715 <td width="115">as-is</td>
|
|
|
716 <td width="255"> </td>
|
|
|
717 </tr>
|
|
|
718 <tr>
|
|
|
719 <td width="221"><b>CWizard97SheetWindow</b></td>
|
|
|
720 <td width="115">client</td>
|
|
|
721 <td width="255"> </td>
|
|
|
722 </tr>
|
|
|
723 <tr>
|
|
|
724 <td width="221"><b>CWizard97SheetImpl</b></td>
|
|
|
725 <td width="115">impl</td>
|
|
|
726 <td width="255">Wizard97 property sheet</td>
|
|
|
727 </tr>
|
|
|
728 <tr>
|
|
|
729 <td width="221"><b>CWizard97Sheet</b></td>
|
|
|
730 <td width="115">as-is</td>
|
|
|
731 <td width="255"> </td>
|
|
|
732 </tr>
|
|
|
733 <tr>
|
|
|
734 <td width="221"><b>CWizard97PageWindow</b></td>
|
|
|
735 <td width="115">client</td>
|
|
|
736 <td width="255"> </td>
|
|
|
737 </tr>
|
|
|
738 <tr>
|
|
|
739 <td width="221"><b>CWizard97PageImpl</b></td>
|
|
|
740 <td width="115">impl</td>
|
|
|
741 <td width="255">Wizard97 property page</td>
|
|
|
742 </tr>
|
|
|
743 <tr>
|
|
|
744 <td width="221"><b>CWizard97ExteriorPageImpl</b></td>
|
|
|
745 <td width="115">impl</td>
|
|
|
746 <td width="255">Wizard97 exterior page</td>
|
|
|
747 </tr>
|
|
|
748 <tr>
|
|
|
749 <td width="221"><b>CWizard97InteriorPageImpl</b></td>
|
|
|
750 <td width="115">impl</td>
|
|
|
751 <td width="255">Wizard97 interior page</td>
|
|
|
752 </tr>
|
|
|
753 <tr>
|
|
|
754 <td width="221"><b>CAeroWizardFrameWindow</b></td>
|
|
|
755 <td width="115">client</td>
|
|
|
756 <td width="255"> </td>
|
|
|
757 </tr>
|
|
|
758 <tr>
|
|
|
759 <td width="221"><b>CAeroWizardFrameImpl</b></td>
|
|
|
760 <td width="115">impl</td>
|
|
|
761 <td width="255">Aero Wizard frame</td>
|
|
|
762 </tr>
|
|
|
763 <tr>
|
|
|
764 <td width="221"><b>CAeroWizardFrame</b></td>
|
|
|
765 <td width="115">as-is</td>
|
|
|
766 <td width="255"> </td>
|
|
|
767 </tr>
|
|
|
768 <tr>
|
|
|
769 <td width="221"><b>CAeroWizardPageWindow</b></td>
|
|
|
770 <td width="115">client</td>
|
|
|
771 <td width="255"> </td>
|
|
|
772 </tr>
|
|
|
773 <tr>
|
|
|
774 <td width="221"><b>CAeroWizardPageImpl</b></td>
|
|
|
775 <td width="115">impl</td>
|
|
|
776 <td width="255">Aero Wizard page</td>
|
|
|
777 </tr>
|
|
|
778 <tr>
|
|
|
779 <td width="221"><b>CAeroWizardPage</b></td>
|
|
|
780 <td width="115">as-is</td>
|
|
|
781 <td width="255"> </td>
|
|
|
782 </tr>
|
|
|
783 <tr>
|
|
|
784 <td width="221"><b>CAeroWizardAxPageImpl</b></td>
|
|
|
785 <td width="115">impl</td>
|
|
|
786 <td width="255">Aero Wizard page with ActiveX</td>
|
|
|
787 </tr>
|
|
|
788 <tr>
|
|
|
789 <td width="221"><b>CAeroWizardAxPage</b></td>
|
|
|
790 <td width="115">as-is</td>
|
|
|
791 <td width="255"> </td>
|
|
|
792 </tr>
|
|
|
793 <tr>
|
|
|
794 <td colspan="3" width="593"><br>Common dialogs</td>
|
|
|
795 </tr>
|
|
|
796 <tr>
|
|
|
797 <td width="221"><b>CFileDialogImpl</b></td>
|
|
|
798 <td width="115">impl</td>
|
|
|
799 <td width="255">GetOpenFileName/GetSaveFileName</td>
|
|
|
800 </tr>
|
|
|
801 <tr>
|
|
|
802 <td width="221"><b>CFileDialog</b></td>
|
|
|
803 <td width="115">as-is</td>
|
|
|
804 <td width="255"> </td>
|
|
|
805 </tr>
|
|
|
806 <tr>
|
|
|
807 <td width="221"><b>CSimpleFileDialog</b></td>
|
|
|
808 <td width="115">as-is</td>
|
|
|
809 <td width="255">no customization</td>
|
|
|
810 </tr>
|
|
|
811 <tr>
|
|
|
812 <td width="221"><b>CMultiFileDialogImpl</b></td>
|
|
|
813 <td width="115">impl</td>
|
|
|
814 <td width="255">Multi-select GetOpenFileName</td>
|
|
|
815 </tr>
|
|
|
816 <tr>
|
|
|
817 <td width="221"><b>CMultiFileDialog</b></td>
|
|
|
818 <td width="115">as-is</td>
|
|
|
819 <td width="255"> </td>
|
|
|
820 </tr>
|
|
|
821 <tr>
|
|
|
822 <td width="221"><b>CShellFileDialogImpl</b></td>
|
|
|
823 <td width="115">base</td>
|
|
|
824 <td width="255"> </td>
|
|
|
825 </tr>
|
|
|
826 <tr>
|
|
|
827 <td width="221"><b>CShellFileOpenDialogImpl</b></td>
|
|
|
828 <td width="115">impl</td>
|
|
|
829 <td width="255">Shell File Open dialog</td>
|
|
|
830 </tr>
|
|
|
831 <tr>
|
|
|
832 <td width="221"><b>CShellFileOpenDialog</b></td>
|
|
|
833 <td width="115">as-is</td>
|
|
|
834 <td width="255"> </td>
|
|
|
835 </tr>
|
|
|
836 <tr>
|
|
|
837 <td width="221"><b>CShellFileSaveDialogImpl</b></td>
|
|
|
838 <td width="115">impl</td>
|
|
|
839 <td width="255">Shell File Save dialog</td>
|
|
|
840 </tr>
|
|
|
841 <tr>
|
|
|
842 <td width="221"><b>CShellFileSaveDialog</b></td>
|
|
|
843 <td width="115">as-is</td>
|
|
|
844 <td width="255"> </td>
|
|
|
845 </tr>
|
|
|
846 <tr>
|
|
|
847 <td width="221"><b>CFolderDialogImpl</b></td>
|
|
|
848 <td width="115">impl</td>
|
|
|
849 <td width="255">directory picker</td>
|
|
|
850 </tr>
|
|
|
851 <tr>
|
|
|
852 <td width="221"><b>CFolderDialog</b></td>
|
|
|
853 <td width="115">as-is</td>
|
|
|
854 <td width="255"> </td>
|
|
|
855 </tr>
|
|
|
856 <tr>
|
|
|
857 <td width="221"><b>CFontDialogImpl</b></td>
|
|
|
858 <td width="115">impl</td>
|
|
|
859 <td width="255">ChooseFont common dialog</td>
|
|
|
860 </tr>
|
|
|
861 <tr>
|
|
|
862 <td width="221"><b>CFontDialog</b></td>
|
|
|
863 <td width="115">as-is</td>
|
|
|
864 <td width="255"> </td>
|
|
|
865 </tr>
|
|
|
866 <tr>
|
|
|
867 <td width="221"><b>CRichEditFontDialogImpl</b></td>
|
|
|
868 <td width="115">impl</td>
|
|
|
869 <td width="255">ChooseFont for rich edit</td>
|
|
|
870 </tr>
|
|
|
871 <tr>
|
|
|
872 <td width="221"><b>CRichEditFontDialog</b></td>
|
|
|
873 <td width="115">as-is</td>
|
|
|
874 <td width="255"> </td>
|
|
|
875 </tr>
|
|
|
876 <tr>
|
|
|
877 <td width="221"><b>CColorDialogImpl</b></td>
|
|
|
878 <td width="115">impl</td>
|
|
|
879 <td width="255">ChooseColor common dialog</td>
|
|
|
880 </tr>
|
|
|
881 <tr>
|
|
|
882 <td width="221"><b>CColorDialog</b></td>
|
|
|
883 <td width="115">as-is</td>
|
|
|
884 <td width="255"> </td>
|
|
|
885 </tr>
|
|
|
886 <tr>
|
|
|
887 <td width="221"><b>CPrintDialogImpl</b></td>
|
|
|
888 <td width="115">impl</td>
|
|
|
889 <td width="255">PrintDlg common dialog</td>
|
|
|
890 </tr>
|
|
|
891 <tr>
|
|
|
892 <td width="221"><b>CPrintDialog</b></td>
|
|
|
893 <td width="115">as-is</td>
|
|
|
894 <td width="255"> </td>
|
|
|
895 </tr>
|
|
|
896 <tr>
|
|
|
897 <td width="221"><b>CPrintDialogExImpl</b></td>
|
|
|
898 <td width="115">impl</td>
|
|
|
899 <td width="255">new Win2000 print dialog</td>
|
|
|
900 </tr>
|
|
|
901 <tr>
|
|
|
902 <td width="221"><b>CPrintDialogEx</b></td>
|
|
|
903 <td width="115">as-is</td>
|
|
|
904 <td width="255"> </td>
|
|
|
905 </tr>
|
|
|
906 <tr>
|
|
|
907 <td width="221"><b>CPageSetupDialogImpl</b></td>
|
|
|
908 <td width="115">impl</td>
|
|
|
909 <td width="255">PageSetupDlg common dialog</td>
|
|
|
910 </tr>
|
|
|
911 <tr>
|
|
|
912 <td width="221"><b>CPageSetupDialog</b></td>
|
|
|
913 <td width="115">as-is</td>
|
|
|
914 <td width="255"> </td>
|
|
|
915 </tr>
|
|
|
916 <tr>
|
|
|
917 <td width="221"><b>CFindReplaceDialogImpl</b></td>
|
|
|
918 <td width="115">impl</td>
|
|
|
919 <td width="255">FindText/ReplaceText</td>
|
|
|
920 </tr>
|
|
|
921 <tr>
|
|
|
922 <td width="221"><b>CFindReplaceDialog</b></td>
|
|
|
923 <td width="115">as-is</td>
|
|
|
924 <td width="255"> </td>
|
|
|
925 </tr>
|
|
|
926 <tr>
|
|
|
927 <td colspan="3" width="593"><br>User support</td>
|
|
|
928 </tr>
|
|
|
929 <tr>
|
|
|
930 <td width="221"><b>CMenu</b></td>
|
|
|
931 <td width="115">client</td>
|
|
|
932 <td width="255">menu support</td>
|
|
|
933 </tr>
|
|
|
934 <tr>
|
|
|
935 <td width="221"><b>CMenuItemInfo</b></td>
|
|
|
936 <td width="115">as-is</td>
|
|
|
937 <td width="255">MENUITEMINFO wrapper</td>
|
|
|
938 </tr>
|
|
|
939 <tr>
|
|
|
940 <td width="221"><b>CAccelerator</b></td>
|
|
|
941 <td width="115">client</td>
|
|
|
942 <td width="255">accelerator table</td>
|
|
|
943 </tr>
|
|
|
944 <tr>
|
|
|
945 <td width="221"><b>CIcon</b></td>
|
|
|
946 <td width="115">client</td>
|
|
|
947 <td width="255">icon object</td>
|
|
|
948 </tr>
|
|
|
949 <tr>
|
|
|
950 <td width="221"><b>CCursor</b></td>
|
|
|
951 <td width="115">client</td>
|
|
|
952 <td width="255">cursor object</td>
|
|
|
953 </tr>
|
|
|
954 <tr>
|
|
|
955 <td width="221"><b>CResource</b></td>
|
|
|
956 <td width="115">client</td>
|
|
|
957 <td width="255">generic resource object</td>
|
|
|
958 </tr>
|
|
|
959 <tr>
|
|
|
960 <td colspan="3" width="593"><br>GDI support</td>
|
|
|
961 </tr>
|
|
|
962 <tr>
|
|
|
963 <td width="221"><b>CDC</b></td>
|
|
|
964 <td width="115">client</td>
|
|
|
965 <td width="255">DC support</td>
|
|
|
966 </tr>
|
|
|
967 <tr>
|
|
|
968 <td width="221"><b>CPaintDC</b></td>
|
|
|
969 <td width="115">client</td>
|
|
|
970 <td width="255">for handling WM_PAINT</td>
|
|
|
971 </tr>
|
|
|
972 <tr>
|
|
|
973 <td width="221"><b>CClientDC</b></td>
|
|
|
974 <td width="115">client</td>
|
|
|
975 <td width="255">for GetDC</td>
|
|
|
976 </tr>
|
|
|
977 <tr>
|
|
|
978 <td width="221"><b>CWindowDC</b></td>
|
|
|
979 <td width="115">client</td>
|
|
|
980 <td width="255">for GetWindowDC</td>
|
|
|
981 </tr>
|
|
|
982 <tr>
|
|
|
983 <td width="221"><b>CMemoryDC</b></td>
|
|
|
984 <td width="115">client</td>
|
|
|
985 <td width="255">in-memory DC</td>
|
|
|
986 </tr>
|
|
|
987 <tr>
|
|
|
988 <td width="221"><b>CPen</b></td>
|
|
|
989 <td width="115">client</td>
|
|
|
990 <td width="255">GDI pen object</td>
|
|
|
991 </tr>
|
|
|
992 <tr>
|
|
|
993 <td width="221"><b>CBrush</b></td>
|
|
|
994 <td width="115">client</td>
|
|
|
995 <td width="255">GDI brush object</td>
|
|
|
996 </tr>
|
|
|
997 <tr>
|
|
|
998 <td width="221"><b>CLogFont</b></td>
|
|
|
999 <td width="115">as-is</td>
|
|
|
1000 <td width="255">LOGFONT wrapper</td>
|
|
|
1001 </tr>
|
|
|
1002 <tr>
|
|
|
1003 <td width="221"><b>CFont</b></td>
|
|
|
1004 <td width="115">client</td>
|
|
|
1005 <td width="255">GDI font object</td>
|
|
|
1006 </tr>
|
|
|
1007 <tr>
|
|
|
1008 <td width="221"><b>CBitmap</b></td>
|
|
|
1009 <td width="115">client</td>
|
|
|
1010 <td width="255">GDI bitmap object</td>
|
|
|
1011 </tr>
|
|
|
1012 <tr>
|
|
|
1013 <td width="221"><b>CPalette</b></td>
|
|
|
1014 <td width="115">client</td>
|
|
|
1015 <td width="255">GDI palette object</td>
|
|
|
1016 </tr>
|
|
|
1017 <tr>
|
|
|
1018 <td width="221"><b>CRgn</b></td>
|
|
|
1019 <td width="115">client</td>
|
|
|
1020 <td width="255">GDI region object</td>
|
|
|
1021 </tr>
|
|
|
1022 <tr>
|
|
|
1023 <td colspan="3" width="593"><br>Enhanced controls</td>
|
|
|
1024 </tr>
|
|
|
1025 <tr>
|
|
|
1026 <td width="221"><b>CCommandBarCtrlImpl</b></td>
|
|
|
1027 <td width="115">impl</td>
|
|
|
1028 <td width="255">command bar</td>
|
|
|
1029 </tr>
|
|
|
1030 <tr>
|
|
|
1031 <td width="221"><b>CCommandBarCtrl</b></td>
|
|
|
1032 <td width="115">as-is</td>
|
|
|
1033 <td width="255"> </td>
|
|
|
1034 </tr>
|
|
|
1035 <tr>
|
|
|
1036 <td width="221"><b>CBitmapButtonImpl</b></td>
|
|
|
1037 <td width="115">impl</td>
|
|
|
1038 <td width="255">bitmap button</td>
|
|
|
1039 </tr>
|
|
|
1040 <tr>
|
|
|
1041 <td width="221"><b>CBitmapButton</b></td>
|
|
|
1042 <td width="115">as-is</td>
|
|
|
1043 <td width="255"> </td>
|
|
|
1044 </tr>
|
|
|
1045 <tr>
|
|
|
1046 <td width="221"><b>CCheckListViewCtrlImpl</b></td>
|
|
|
1047 <td width="115">impl</td>
|
|
|
1048 <td width="255">check list box</td>
|
|
|
1049 </tr>
|
|
|
1050 <tr>
|
|
|
1051 <td width="221"><b>CCheckListViewCtrl</b></td>
|
|
|
1052 <td width="115">as-is</td>
|
|
|
1053 <td width="255"> </td>
|
|
|
1054 </tr>
|
|
|
1055 <tr>
|
|
|
1056 <td width="221"><b>CHyperLinkImpl</b></td>
|
|
|
1057 <td width="115">impl</td>
|
|
|
1058 <td width="255">hyper link control</td>
|
|
|
1059 </tr>
|
|
|
1060 <tr>
|
|
|
1061 <td width="221"><b>CHyperLink</b></td>
|
|
|
1062 <td width="115">as-is</td>
|
|
|
1063 <td width="255"> </td>
|
|
|
1064 </tr>
|
|
|
1065 <tr>
|
|
|
1066 <td width="221"><b>CWaitCursor</b></td>
|
|
|
1067 <td width="115">as-is</td>
|
|
|
1068 <td width="255">wait cursor</td>
|
|
|
1069 </tr>
|
|
|
1070 <tr>
|
|
|
1071 <td width="221"><b>CCustomWaitCursor</b></td>
|
|
|
1072 <td width="115">as-is</td>
|
|
|
1073 <td width="255">custom and animated wait cursor</td>
|
|
|
1074 </tr>
|
|
|
1075 <tr>
|
|
|
1076 <td width="221"><b>CMultiPaneStatusBarCtrlImpl</b></td>
|
|
|
1077 <td width="115">impl</td>
|
|
|
1078 <td width="255">status bar with multiple panes</td>
|
|
|
1079 </tr>
|
|
|
1080 <tr>
|
|
|
1081 <td width="221"><b>CMultiPaneStatusBarCtrl</b></td>
|
|
|
1082 <td width="115">as-is</td>
|
|
|
1083 <td width="255"> </td>
|
|
|
1084 </tr>
|
|
|
1085 <tr>
|
|
|
1086 <td width="221"><b>CPaneContainerImpl</b></td>
|
|
|
1087 <td width="115">impl</td>
|
|
|
1088 <td width="255">pane window container</td>
|
|
|
1089 </tr>
|
|
|
1090 <tr>
|
|
|
1091 <td width="221"><b>CPaneContainer</b></td>
|
|
|
1092 <td width="115">as-is</td>
|
|
|
1093 <td width="255"> </td>
|
|
|
1094 </tr>
|
|
|
1095 <tr>
|
|
|
1096 <td width="221"><b>CSortListViewImpl</b></td>
|
|
|
1097 <td width="115">impl</td>
|
|
|
1098 <td width="255">sorting list view control</td>
|
|
|
1099 </tr>
|
|
|
1100 <tr>
|
|
|
1101 <td width="221"><b>CSortListViewCtrlImpl</b></td>
|
|
|
1102 <td width="115">impl</td>
|
|
|
1103 <td width="255"> </td>
|
|
|
1104 </tr>
|
|
|
1105 <tr>
|
|
|
1106 <td width="221"><b>CSortListViewCtrl</b></td>
|
|
|
1107 <td width="115">as-is</td>
|
|
|
1108 <td width="255"> </td>
|
|
|
1109 </tr>
|
|
|
1110 <tr>
|
|
|
1111 <td width="221"><b>CTabViewImpl;</b></td>
|
|
|
1112 <td width="115">impl</td>
|
|
|
1113 <td width="255">tab view window</td>
|
|
|
1114 </tr>
|
|
|
1115 <tr>
|
|
|
1116 <td width="221"><b>CTabView</b></td>
|
|
|
1117 <td width="115">as-is</td>
|
|
|
1118 <td width="255"> </td>
|
|
|
1119 </tr>
|
|
|
1120 <tr>
|
|
|
1121 <td colspan="3" width="593"><br>Scrolling window support</td>
|
|
|
1122 </tr>
|
|
|
1123 <tr>
|
|
|
1124 <td width="221"><b>CScrollImpl</b></td>
|
|
|
1125 <td width="115">impl mi</td>
|
|
|
1126 <td width="255">scrolling support</td>
|
|
|
1127 </tr>
|
|
|
1128 <tr>
|
|
|
1129 <td width="221"><b>CScrollWindowImpl</b></td>
|
|
|
1130 <td width="115">impl</td>
|
|
|
1131 <td width="255">scrollable window</td>
|
|
|
1132 </tr>
|
|
|
1133 <tr>
|
|
|
1134 <td width="221"><b>CMapScrollImpl</b></td>
|
|
|
1135 <td width="115">impl mi</td>
|
|
|
1136 <td width="255">scrolling support with map modes</td>
|
|
|
1137 </tr>
|
|
|
1138 <tr>
|
|
|
1139 <td width="221"><b>CMapScrollWindowImpl</b></td>
|
|
|
1140 <td width="115">impl</td>
|
|
|
1141 <td width="255">scrollable window with map modes</td>
|
|
|
1142 </tr>
|
|
|
1143 <tr>
|
|
|
1144 <td width="221"><b>CZoomScrollImpl</b></td>
|
|
|
1145 <td width="115">impl mi</td>
|
|
|
1146 <td width="255">zooming support</td>
|
|
|
1147 </tr>
|
|
|
1148 <tr>
|
|
|
1149 <td width="221"><b>CZoomScrollWindowImpl</b></td>
|
|
|
1150 <td width="115">impl</td>
|
|
|
1151 <td width="255">zooming window</td>
|
|
|
1152 </tr>
|
|
|
1153 <tr>
|
|
|
1154 <td width="221"><b>CScrollContainerImpl</b></td>
|
|
|
1155 <td width="115">impl</td>
|
|
|
1156 <td width="255">scroll container window</td>
|
|
|
1157 </tr>
|
|
|
1158 <tr>
|
|
|
1159 <td width="221"><b>CScrollContainer</b></td>
|
|
|
1160 <td width="115">as-is</td>
|
|
|
1161 <td width="255"> </td>
|
|
|
1162 </tr>
|
|
|
1163 <tr>
|
|
|
1164 <td colspan="3" width="593"><br>Splitter window support</td>
|
|
|
1165 </tr>
|
|
|
1166 <tr>
|
|
|
1167 <td width="221"><b>CSplitterImpl</b></td>
|
|
|
1168 <td width="115">impl mi</td>
|
|
|
1169 <td width="255">splitter support</td>
|
|
|
1170 </tr>
|
|
|
1171 <tr>
|
|
|
1172 <td width="221"><b>CSplitterWindowImpl</b></td>
|
|
|
1173 <td width="115">impl</td>
|
|
|
1174 <td width="255">splitter window</td>
|
|
|
1175 </tr>
|
|
|
1176 <tr>
|
|
|
1177 <td width="221"><b>CSplitterWindow</b></td>
|
|
|
1178 <td width="115">as-is</td>
|
|
|
1179 <td width="255"> </td>
|
|
|
1180 </tr>
|
|
|
1181 <tr>
|
|
|
1182 <td colspan="3" width="593"><br>Theming support</td>
|
|
|
1183 </tr>
|
|
|
1184 <tr>
|
|
|
1185 <td width="221"><b>CTheme</b></td>
|
|
|
1186 <td width="115">client</td>
|
|
|
1187 <td width="255">Windows XP theme</td>
|
|
|
1188 </tr>
|
|
|
1189 <tr>
|
|
|
1190 <td width="221"><b>CThemeImpl</b></td>
|
|
|
1191 <td width="115">impl</td>
|
|
|
1192 <td width="255">theming support for a window</td>
|
|
|
1193 </tr>
|
|
|
1194 <tr>
|
|
|
1195 <td colspan="3" width="593"><br>Buffered paint and animation support</td>
|
|
|
1196 </tr>
|
|
|
1197 <tr>
|
|
|
1198 <td width="221"><b>CBufferedPaint</b></td>
|
|
|
1199 <td width="115">as-is</td>
|
|
|
1200 <td width="255">buffered paint</td>
|
|
|
1201 </tr>
|
|
|
1202 <tr>
|
|
|
1203 <td width="221"><b>CBufferedPaintImpl</b></td>
|
|
|
1204 <td width="115">impl mi</td>
|
|
|
1205 <td width="255">buffered paint support</td>
|
|
|
1206 </tr>
|
|
|
1207 <tr>
|
|
|
1208 <td width="221"><b>CBufferedPaintWindowImpl</b></td>
|
|
|
1209 <td width="115">impl</td>
|
|
|
1210 <td width="255">window with buffered paint</td>
|
|
|
1211 </tr>
|
|
|
1212 <tr>
|
|
|
1213 <td width="221"><b>CBufferedAnimation</b></td>
|
|
|
1214 <td width="115">as-is</td>
|
|
|
1215 <td width="255">buffered animation</td>
|
|
|
1216 </tr>
|
|
|
1217 <tr>
|
|
|
1218 <td width="221"><b>CBufferedAnimationImpl</b></td>
|
|
|
1219 <td width="115">impl mi</td>
|
|
|
1220 <td width="255">buffered animation support</td>
|
|
|
1221 </tr>
|
|
|
1222 <tr>
|
|
|
1223 <td width="221"><b>CBufferedAnimationWindowImpl</b></td>
|
|
|
1224 <td width="115">impl</td>
|
|
|
1225 <td width="255">window with buffered animation</td>
|
|
|
1226 </tr>
|
|
|
1227 <tr>
|
|
|
1228 <td colspan="3" width="593"><br>Edit and RichEdit Find/Replace support</td>
|
|
|
1229 </tr>
|
|
|
1230 <tr>
|
|
|
1231 <td width="221"><b>CEditFindReplaceImplBase</b></td>
|
|
|
1232 <td width="115">base</td>
|
|
|
1233 <td width="255"> </td>
|
|
|
1234 </tr>
|
|
|
1235 <tr>
|
|
|
1236 <td width="221"><b>CEditFindReplaceImpl</b></td>
|
|
|
1237 <td width="115">mi</td>
|
|
|
1238 <td width="255">Edit Find/Replace support</td>
|
|
|
1239 </tr>
|
|
|
1240 <tr>
|
|
|
1241 <td width="221"><b>CRichEditFindReplaceImpl</b></td>
|
|
|
1242 <td width="115">mi</td>
|
|
|
1243 <td width="255">RichEdit Find/Replace support</td>
|
|
|
1244 </tr>
|
|
|
1245 <tr>
|
|
|
1246 <td colspan="3" width="593"><br>Printing support</td>
|
|
|
1247 </tr>
|
|
|
1248 <tr>
|
|
|
1249 <td width="221"><b>CPrinterInfo</b></td>
|
|
|
1250 <td width="115">as-is</td>
|
|
|
1251 <td width="255">print info support</td>
|
|
|
1252 </tr>
|
|
|
1253 <tr>
|
|
|
1254 <td width="221"><b>CPrinter</b></td>
|
|
|
1255 <td width="115">client</td>
|
|
|
1256 <td width="255">printer handle wrapper</td>
|
|
|
1257 </tr>
|
|
|
1258 <tr>
|
|
|
1259 <td width="221"><b>CDevMode</b></td>
|
|
|
1260 <td width="115">client</td>
|
|
|
1261 <td width="255">DEVMODE wrapper</td>
|
|
|
1262 </tr>
|
|
|
1263 <tr>
|
|
|
1264 <td width="221"><b>CPrinterDC</b></td>
|
|
|
1265 <td width="115">client</td>
|
|
|
1266 <td width="255">printing DC support</td>
|
|
|
1267 </tr>
|
|
|
1268 <tr>
|
|
|
1269 <td width="221"><b>CPrintJobInfo</b></td>
|
|
|
1270 <td width="115">client</td>
|
|
|
1271 <td width="255">print job info</td>
|
|
|
1272 </tr>
|
|
|
1273 <tr>
|
|
|
1274 <td width="221"><b>CPrintJob</b></td>
|
|
|
1275 <td width="115">client</td>
|
|
|
1276 <td width="255">print job support</td>
|
|
|
1277 </tr>
|
|
|
1278 <tr>
|
|
|
1279 <td width="221"><b>CPrintPreview</b></td>
|
|
|
1280 <td width="115">mi</td>
|
|
|
1281 <td width="255">print preview support</td>
|
|
|
1282 </tr>
|
|
|
1283 <tr>
|
|
|
1284 <td width="221"><b>CPrintPreviewWindowImpl</b></td>
|
|
|
1285 <td width="115">impl</td>
|
|
|
1286 <td width="255">print preview window</td>
|
|
|
1287 </tr>
|
|
|
1288 <tr>
|
|
|
1289 <td width="221"><b>CPrintPreviewWindow</b></td>
|
|
|
1290 <td width="115">as-is</td>
|
|
|
1291 <td width="255"> </td>
|
|
|
1292 </tr>
|
|
|
1293 <tr>
|
|
|
1294 <td width="221"><b>CZoomPrintPreviewWindowImpl</b></td>
|
|
|
1295 <td width="115">impl</td>
|
|
|
1296 <td width="255">zooming print preview window</td>
|
|
|
1297 </tr>
|
|
|
1298 <tr>
|
|
|
1299 <td width="221"><b>CZoomPrintPreviewWindow</b></td>
|
|
|
1300 <td width="115">as-is</td>
|
|
|
1301 <td width="255"> </td>
|
|
|
1302 </tr>
|
|
|
1303 <tr>
|
|
|
1304 <td colspan="3" width="593"><br>Miscellaneous</td>
|
|
|
1305 </tr>
|
|
|
1306 <tr>
|
|
|
1307 <td width="221"><b>CWinDataExchange</b></td>
|
|
|
1308 <td width="115">mi</td>
|
|
|
1309 <td width="255">data exchange for controls</td>
|
|
|
1310 </tr>
|
|
|
1311 <tr>
|
|
|
1312 <td width="221"><b>CRecentDocumentList</b></td>
|
|
|
1313 <td width="115">mi or as-is</td>
|
|
|
1314 <td width="255">support for MRU list</td>
|
|
|
1315 </tr>
|
|
|
1316 <tr>
|
|
|
1317 <td width="221"><b>CFindFile</b></td>
|
|
|
1318 <td width="115">as-is</td>
|
|
|
1319 <td width="255">file search support</td>
|
|
|
1320 </tr>
|
|
|
1321 <tr>
|
|
|
1322 <td width="221"><b>CRegProperty</b></td>
|
|
|
1323 <td width="115">as-is</td>
|
|
|
1324 <td width="255">registry properties support</td>
|
|
|
1325 </tr>
|
|
|
1326 <tr>
|
|
|
1327 <td width="221"><b>CRegPropertyImpl</b></td>
|
|
|
1328 <td width="115">impl</td>
|
|
|
1329 <td width="255">registry properties via map</td>
|
|
|
1330 </tr>
|
|
|
1331 <tr>
|
|
|
1332 <td colspan="3" width="593"><br>In-memory dialog</td>
|
|
|
1333 </tr>
|
|
|
1334 <tr>
|
|
|
1335 <td width="221"><b>CDialogBaseUnits</b></td>
|
|
|
1336 <td width="115">helper</td>
|
|
|
1337 <td width="255">dialog units helper</td>
|
|
|
1338 </tr>
|
|
|
1339 <tr>
|
|
|
1340 <td width="221"><b>CMemDlgTemplate</b></td>
|
|
|
1341 <td width="115">as-is</td>
|
|
|
1342 <td width="255">In-memory dialog template</td>
|
|
|
1343 </tr>
|
|
|
1344 <tr>
|
|
|
1345 <td width="221"><b>CIndirectDialogImpl</b></td>
|
|
|
1346 <td width="115">impl</td>
|
|
|
1347 <td width="255">In-memory dialog class</td>
|
|
|
1348 </tr>
|
|
|
1349 <tr>
|
|
|
1350 <td colspan="3" width="593"><br>Task dialog</td>
|
|
|
1351 </tr>
|
|
|
1352 <tr>
|
|
|
1353 <td width="221"><b>CTaskDialogImpl</b></td>
|
|
|
1354 <td width="115">impl</td>
|
|
|
1355 <td width="255">Task Dialog in Vista</td>
|
|
|
1356 </tr>
|
|
|
1357 <tr>
|
|
|
1358 <td width="221"><b>CTaskDialog</b></td>
|
|
|
1359 <td width="115">as-is</td>
|
|
|
1360 <td width="255"> </td>
|
|
|
1361 </tr>
|
|
|
1362 <tr>
|
|
|
1363 <td colspan="3" width="593"><br>DWM classes</td>
|
|
|
1364 </tr>
|
|
|
1365 <tr>
|
|
|
1366 <td width="221"><b>CDwm</b></td>
|
|
|
1367 <td width="115">client</td>
|
|
|
1368 <td width="255">DWM handle warapper</td>
|
|
|
1369 </tr>
|
|
|
1370 <tr>
|
|
|
1371 <td width="221"><b>CDwmImpl</b></td>
|
|
|
1372 <td width="115">impl base</td>
|
|
|
1373 <td width="255">DWM support</td>
|
|
|
1374 </tr>
|
|
|
1375 <tr>
|
|
|
1376 <td width="221"><b>CDwmWindow</b></td>
|
|
|
1377 <td width="115">impl</td>
|
|
|
1378 <td width="255">DWM window support</td>
|
|
|
1379 </tr>
|
|
|
1380 <tr>
|
|
|
1381 <td width="221"><b>CDwmThumbnail</b></td>
|
|
|
1382 <td width="115">client</td>
|
|
|
1383 <td width="255">DWM thumbnail wrapper</td>
|
|
|
1384 </tr>
|
|
|
1385 <tr>
|
|
|
1386 <td width="221"><b>CAeroControlImpl</b></td>
|
|
|
1387 <td width="115">impl</td>
|
|
|
1388 <td width="255">support for Aero controls</td>
|
|
|
1389 </tr>
|
|
|
1390 <tr>
|
|
|
1391 <td colspan="3" width="593"><br>Ribbon classes</td>
|
|
|
1392 </tr>
|
|
|
1393 <tr>
|
|
|
1394 <td width="221"><b>CRibbonUpdateUI</b></td>
|
|
|
1395 <td width="115">mi base</td>
|
|
|
1396 <td width="255">automatic mapping of ribbon UI elements</td>
|
|
|
1397 </tr>
|
|
|
1398 <tr>
|
|
|
1399 <td width="221"><b>RibbonUI::CtrlImpl</b></td>
|
|
|
1400 <td width="115">base impl</td>
|
|
|
1401 <td width="255">base class for all ribbon controls</td>
|
|
|
1402 </tr>
|
|
|
1403 <tr>
|
|
|
1404 <td width="221"><b>RibbonUI::CommandCtrlImpl</b></td>
|
|
|
1405 <td width="115">base impl</td>
|
|
|
1406 <td width="255">base class for ribbon controls</td>
|
|
|
1407 </tr>
|
|
|
1408 <tr>
|
|
|
1409 <td width="221"><b>RibbonUI::CollectionImplBase</b></td>
|
|
|
1410 <td width="115">base</td>
|
|
|
1411 <td width="255">base class for all RibbonUI collections</td>
|
|
|
1412 </tr>
|
|
|
1413 <tr>
|
|
|
1414 <td width="221"><b>RibbonUI::CollectionImpl</b></td>
|
|
|
1415 <td width="115">impl</td>
|
|
|
1416 <td width="255">RibbonUI collections</td>
|
|
|
1417 </tr>
|
|
|
1418 <tr>
|
|
|
1419 <td width="221"><b>RibbonUI::CollectionCtrlImpl</b></td>
|
|
|
1420 <td width="115">impl</td>
|
|
|
1421 <td width="255">specializable class for ribbon collection controls</td>
|
|
|
1422 </tr>
|
|
|
1423 <tr>
|
|
|
1424 <td width="221"><b>RibbonUI::ToolbarGalleryCtrlImpl</b></td>
|
|
|
1425 <td width="115">base impl</td>
|
|
|
1426 <td width="255">base class for ribbon toolbar gallery controls</td>
|
|
|
1427 </tr>
|
|
|
1428 <tr>
|
|
|
1429 <td width="221"><b>RibbonUI::CRibbonImpl</b></td>
|
|
|
1430 <td width="115">impl</td>
|
|
|
1431 <td width="255">Ribbon implementation class</td>
|
|
|
1432 </tr>
|
|
|
1433 <tr>
|
|
|
1434 <td width="221"><b>CRibbonFrameWindowImplBase</b></td>
|
|
|
1435 <td width="115">base</td>
|
|
|
1436 <td width="255">base frame class for Ribbon</td>
|
|
|
1437 </tr>
|
|
|
1438 <tr>
|
|
|
1439 <td width="221"><b>CRibbonFrameWindowImpl</b></td>
|
|
|
1440 <td width="115">impl</td>
|
|
|
1441 <td width="255">Ribbon frame window class</td>
|
|
|
1442 </tr>
|
|
|
1443 <tr>
|
|
|
1444 <td width="221"><b>CRibbonMDIFrameWindowImpl</b></td>
|
|
|
1445 <td width="115">impl</td>
|
|
|
1446 <td width="255">Ribbon MDI frame window class</td>
|
|
|
1447 </tr>
|
|
|
1448 <tr>
|
|
|
1449 <td width="221"><b>CRibbonPersist</b></td>
|
|
|
1450 <td width="115">as-is</td>
|
|
|
1451 <td width="255">Ribbon persistance support</td>
|
|
|
1452 </tr>
|
|
|
1453 </table>
|
|
|
1454 <p style=margin:0px><br></p>
|
|
|
1455 <p style=margin:0px><br></p>
|
|
|
1456
|
|
|
1457 <h3 style=margin:0px><a name="ATL/WTL AppWizard"></a>ATL/WTL AppWizard</h3>
|
|
|
1458
|
|
|
1459 <p>ATL/WTL AppWizard generates starting code for a WTL application. It has options to create code for different application types and features.</p>
|
|
|
1460 <p style=margin:0px>You can choose the following options:</p>
|
|
|
1461 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1462 <li>Application type (SDI, multi thread SDI, MDI, TabView, Explorer, dialog based)</li>
|
|
|
1463 <li>Support for hosting ActiveX controls</li>
|
|
|
1464 <li>COM server support</li>
|
|
|
1465 <li>Class implementation in .CPP files</li>
|
|
|
1466 <li>Common Control manifest</li>
|
|
|
1467 <li>Unicode character set</li>
|
|
|
1468 <li>Toolbar, rebar, command bar, status bar</li>
|
|
|
1469 <li>View window, and it's type (generic, dialog form, or a list box, edit, list view, tree view, rich edit, HTML page, scroll window)</li>
|
|
|
1470 <li>For dialog based apps or a form based view window - support for hosting ActiveX controls in the dialog</li>
|
|
|
1471 </ul>
|
|
|
1472 <p style=margin:0px><br></p>
|
|
|
1473
|
|
|
1474 <p style=margin:0px>ATL/WTL AppWizard supports VC++ 2005, 2008, 2010, 2012, 2013, 2015, 2017, and 2019.</p>
|
|
|
1475 <p style=margin:0px><br></p>
|
|
|
1476 <p style=margin:0px><br></p>
|
|
|
1477
|
|
|
1478 <h3 style=margin:0px><a name="WTL in MFC"></a>How to use WTL in an MFC project</h3>
|
|
|
1479
|
|
|
1480 <p>If you want to use WTL in an MFC project, you need to put these 2 lines before including atlapp.h:</p>
|
|
|
1481 <p class="code1">
|
|
|
1482 namespace ATL { using ::CString; };<br>
|
|
|
1483 #define _WTL_NO_AUTOMATIC_NAMESPACE
|
|
|
1484 </p>
|
|
|
1485 <p>The first line tells WTL to use CString from global namespace, because CString is defined that way in MFC.
|
|
|
1486 The second line prevents name collisions between WTL and MFC. Use the WTL namespace prefix explicitly.</p>
|
|
|
1487
|
|
|
1488 <p style=margin:0px><br></p>
|
|
|
1489 <p style=margin:0px><br></p>
|
|
|
1490
|
|
|
1491 <p><hr></p>
|
|
|
1492
|
|
|
1493 <h3 style=margin:0px><a name="WTL Releases"></a>WTL Releases</h3>
|
|
|
1494 <p style=margin:0px><br></p>
|
|
|
1495
|
|
|
1496 <h4>History</h4>
|
|
|
1497 <table class="table1" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
|
|
|
1498 <tr>
|
|
|
1499 <td width="20"> </td>
|
|
|
1500 <td width="100">WTL 10</td>
|
|
|
1501 <td>?</td>
|
|
|
1502 </tr>
|
|
|
1503 <tr>
|
|
|
1504 <td width="20"> </td>
|
|
|
1505 <td width="100">WTL 9.1</td>
|
|
|
1506 <td>2015</td>
|
|
|
1507 </tr>
|
|
|
1508 <tr>
|
|
|
1509 <td width="20"> </td>
|
|
|
1510 <td width="100">WTL 9.0</td>
|
|
|
1511 <td>2014</td>
|
|
|
1512 </tr>
|
|
|
1513 <tr>
|
|
|
1514 <td width="20"> </td>
|
|
|
1515 <td width="100">WTL 8.0</td>
|
|
|
1516 <td>2007</td>
|
|
|
1517 </tr>
|
|
|
1518 <tr>
|
|
|
1519 <td width="20"> </td>
|
|
|
1520 <td width="100">WTL 7.5</td>
|
|
|
1521 <td>2005</td>
|
|
|
1522 </tr>
|
|
|
1523 <tr>
|
|
|
1524 <td width="20"> </td>
|
|
|
1525 <td width="100">WTL 7.1</td>
|
|
|
1526 <td>2003</td>
|
|
|
1527 </tr>
|
|
|
1528 <tr>
|
|
|
1529 <td width="20"> </td>
|
|
|
1530 <td width="100">WTL 7.0</td>
|
|
|
1531 <td>2002</td>
|
|
|
1532 </tr>
|
|
|
1533 <tr>
|
|
|
1534 <td width="20"> </td>
|
|
|
1535 <td width="100">WTL 3.1</td>
|
|
|
1536 <td>2000</td>
|
|
|
1537 </tr>
|
|
|
1538 <tr>
|
|
|
1539 <td width="20"> </td>
|
|
|
1540 <td width="100">WTL 3.0</td>
|
|
|
1541 <td>1999</td>
|
|
|
1542 </tr>
|
|
|
1543 </table>
|
|
|
1544 <p style=margin:0px><br></p>
|
|
|
1545
|
|
|
1546 <h4>Changes Between WTL 10 and 9.1</h4>
|
|
|
1547 <p style=margin:0px>TODO</p>
|
|
|
1548 <p style=margin:0px><br></p>
|
|
|
1549
|
|
|
1550 <h4>Changes Between WTL 9.1 and 9.0</h4>
|
|
|
1551 <p style=margin:0px>New and improved:</p>
|
|
|
1552 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1553 <p style=margin:0px>
|
|
|
1554 Full compatibility with VS2015<br>
|
|
|
1555 NuGet support and package<br>
|
|
|
1556 Microsoft Public License (MS-PL)<br>
|
|
|
1557 New sample: MemDlg - demonstrates use of in-memory dialogs
|
|
|
1558 </p>
|
|
|
1559 </blockquote>
|
|
|
1560 <p style=margin:0px><br></p>
|
|
|
1561
|
|
|
1562 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
1563 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1564 <p style=margin:0px>
|
|
|
1565 Fixes for code analysis warnings<br>
|
|
|
1566 Fixes for strict const-qualification conformance (/Zc:strictStrings)<br>
|
|
|
1567 CEditFindReplaceImpl::UseShadowBuffer(): Use AtlGetCommCtrlVersion() instead of GetProcAddress()<br>
|
|
|
1568 Misc improvements: missing initialization, undefined messages, better #ifdefs<br>
|
|
|
1569 CFrameWndClassInfo: Use GetSystemMetrics() for icon sizes<br>
|
|
|
1570 BEGIN_MSG_MAP_EX and BEGIN_DDX_MAP: Fix for C4555: expression has no effect<br>
|
|
|
1571 CResource::LoadEx(): Fix for the wrong order for parameters to ::FindResourceEx()<br>
|
|
|
1572 CPaneContainerImpl:
|
|
|
1573 </p>
|
|
|
1574 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1575 <li>New extended styles: PANECNT_DIVIDER and PANECNT_GRADIENT</li>
|
|
|
1576 <li>Fixed background drawing for close button</li>
|
|
|
1577 </ul>
|
|
|
1578 <p style=margin:0px>
|
|
|
1579 CImageListManaged: Fix for assert when using attach or operator =<br>
|
|
|
1580 WTLExplorer sample cleanup<br>
|
|
|
1581 GenericWndClass::Register(): Fix for Windows CE<br>
|
|
|
1582 App Wizard: Improved code for generating project configurations<br>
|
|
|
1583 CSplitterImpl::OnCaptureChanged(): Fixed so it moves splitter bar only if move was in progress<br>
|
|
|
1584 CDynamicUpdateUI::UIRemoveUpdateElement() leaks memory if UPDUI_TEXT is set<br>
|
|
|
1585 CToolInfo and CToolTipCtrl: nIDTool argument should be UINT_PTR instead of UINT<br>
|
|
|
1586 CSplitterImpl: Added GetSplitterPosPct()<br>
|
|
|
1587 CCommandBarCtrlImpl: Fixed incorrect use of m_wndParent when AttachToWindow() is used
|
|
|
1588 </p>
|
|
|
1589 </blockquote>
|
|
|
1590 <p style=margin:0px><br></p>
|
|
|
1591
|
|
|
1592 <h4>Changes Between WTL 9.0 and 8.0</h4>
|
|
|
1593 <p style=margin:0px>New and improved:</p>
|
|
|
1594 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1595 <p style=margin:0px>
|
|
|
1596 Full compatibility with VS2008, VS2010, VS2012, and VS2013<br>
|
|
|
1597 New CRegKeyEx class for uniform support for registry<br>
|
|
|
1598 New MinCrtHelper functions for uniform support for _ATL_MIN_CRT<br>
|
|
|
1599 New DWM classes in atldwm.h<br>
|
|
|
1600 New Ribbon classes in atlribbon.h<br>
|
|
|
1601 New CDialogBaseUnits class<br>
|
|
|
1602 Extended DDX support to TabCtrl, ComboBox, ListBox and ListView selection index<br>
|
|
|
1603 Improved font handling in CHyperLink, CPaneContainer, CTabView<br>
|
|
|
1604 CHyperlink: Added options for auto-create link font and single-line mode<br>
|
|
|
1605 CBitmapButtonImpl: Added checked state, GetCheck()/SetCheck(), and check mode extended styles<br>
|
|
|
1606 UpdateUI: Added support for radio menu items for popup menus<br>
|
|
|
1607 Added support for new VersionHelpers.h in WinSDK 8.1 - GetVersionEx() is now deprecated<br>
|
|
|
1608 Improved global support for old SDK headers, and for original headers in VC6 and VC7.x<br>
|
|
|
1609 Global support for builds with NOMINMAX defined<br>
|
|
|
1610 Global support for builds with STRICT_TYPED_ITEMIDS defined<br>
|
|
|
1611 Global support for builds with _ATL_ALL_USER_WARNINGS defined<br>
|
|
|
1612 Splitter Window:
|
|
|
1613 </p>
|
|
|
1614 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1615 <li>Added keyboard handling</li>
|
|
|
1616 <li>Added default position for splitter bar</li>
|
|
|
1617 <li>Changed orientation from template argument to data member to reduce memory use</li>
|
|
|
1618 <li>Added SPLIT_GRADIENTBAR and SPLIT_FIXEDBARSIZE extended styles</li>
|
|
|
1619 </ul>
|
|
|
1620 <p style=margin:0px>
|
|
|
1621 Added CImageListManaged to manage the lifetime of wrapped image list<br>
|
|
|
1622 Added Vista standard menu bar look option for Command bar<br>
|
|
|
1623 Added new Rich Edit wrappers for _RICHEDIT_VER >= 0x0800<br>
|
|
|
1624 Added new Win8 methods to Theme classes<br>
|
|
|
1625 Added override of SubclassWindow() to CSplitterWindowImpl, CPaneContainerImpl, CTabViewImpl,<br>
|
|
|
1626 CScrollImpl, CMapScrollImpl, CZoomScrollImpl, and CScrollContainerImpl<br>
|
|
|
1627 CZoomScrollImpl:
|
|
|
1628 </p>
|
|
|
1629 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1630 <li>Added zoom child windows option</li>
|
|
|
1631 <li>Added zoom scale max limit</li>
|
|
|
1632 </ul>
|
|
|
1633 <p style=margin:0px>
|
|
|
1634 AppWizard:
|
|
|
1635 </p>
|
|
|
1636 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1637 <li>Support for VS2008, VS2010, VS2012, and VS2013</li>
|
|
|
1638 <li>New universal setup for all versions of Visual Studio</li>
|
|
|
1639 <li>Support for ribbon control</li>
|
|
|
1640 </ul>
|
|
|
1641 <p style=margin:0px>
|
|
|
1642 Updated samples and added VS2005 project files<br>
|
|
|
1643 New sample: MTPad7 - demonstrates Ribbon UI
|
|
|
1644 </p>
|
|
|
1645 </blockquote>
|
|
|
1646 <p style=margin:0px><br></p>
|
|
|
1647
|
|
|
1648 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
1649 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1650 <p style=margin:0px>General:</p>
|
|
|
1651 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1652 <li>Fixed security warning for _vstprintf in atlapp.h</li>
|
|
|
1653 <li>Added RunTimeHelper::IsThemeAvailable that detects if themes can be used in the app</li>
|
|
|
1654 <li>VS2012: DLL version functions are defined as they are removed from ATL11</li>
|
|
|
1655 <li>Added CWndProcThunk initialization for _ATL_VER >= 0x0800</li>
|
|
|
1656 <li>Added RunTimeHelper::SizeOf_TOOLINFO() for different Windows versions at runtime</li>
|
|
|
1657 <li>Added AtlCreateControlFont()</li>
|
|
|
1658 </ul>
|
|
|
1659 <p style=margin:0px><br></p>
|
|
|
1660 <p style=margin:0px>Controls:</p>
|
|
|
1661 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1662 <li>Extended CListViewCtrl::SelectItem() to multi-selection list view controls</li>
|
|
|
1663 <li>Added another variant of CListViewCtrl::FindItem for strings</li>
|
|
|
1664 <li>Added new CToolBarCtrl methods - InsertSeparator() and AddSeparator()</li>
|
|
|
1665 <li>Added CToolBarCtrl::GetItemDropDownRect()</li>
|
|
|
1666 <li>Added another variant of CToolTipCtrl::TrackActivate()</li>
|
|
|
1667 </ul>
|
|
|
1668 <p style=margin:0px><br></p>
|
|
|
1669 <p style=margin:0px>Cracked Handlers:</p>
|
|
|
1670 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1671 <li>Fixed handlers with menu arguments</li>
|
|
|
1672 <li>Fixed MSG_WM_SYSCOMMAND handler</li>
|
|
|
1673 <li>Added MSG_WM_MOUSEHWHEEL handler</li>
|
|
|
1674 </ul>
|
|
|
1675 <p style=margin:0px><br></p>
|
|
|
1676 <p style=margin:0px>App Wizard:</p>
|
|
|
1677 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1678 <li>Fix for TabView project code generation</li>
|
|
|
1679 <li>Improved generated code for VC++ Express to support various versions of ATL</li>
|
|
|
1680 <li>Fix for missing UIUpdateChildWindows() in dialog projects</li>
|
|
|
1681 </ul>
|
|
|
1682 <p style=margin:0px><br></p>
|
|
|
1683 <p style=margin:0px>App Wizard CE / App Wizard Mobile:</p>
|
|
|
1684 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1685 <li>Updated AppWizCE for VS2008 - used different CLSID for Platforms object</li>
|
|
|
1686 <li>Fix: VS2008 uses _SECURE_ATL code only</li>
|
|
|
1687 <li>Fix for resource creation failure</li>
|
|
|
1688 </ul>
|
|
|
1689 <p style=margin:0px><br></p>
|
|
|
1690 <p style=margin:0px>Misc:</p>
|
|
|
1691 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1692 <li>Fix: CLogFont uses ::GetDeviceCaps with wrong default hDC = NULL</li>
|
|
|
1693 <li>Fixed CPen::GetExtLogPen</li>
|
|
|
1694 <li>Fixed CFrameWindowImpl::OnToolTipText*() handlers not to reset text buffer</li>
|
|
|
1695 <li>Added support for chevron menus for multi-line toolbars</li>
|
|
|
1696 <li>Fix: CFileDialog(false) fails on Windows Mobile 5 or 6</li>
|
|
|
1697 <li>Fix: CFolderDialog::SetOKText should use lParam for string</li>
|
|
|
1698 <li>Added CFolderDialog::SetPidlRoot()</li>
|
|
|
1699 <li>Fixed CMemDlgTemplate::AddControl</li>
|
|
|
1700 <li>Added option to disable item dragging in CTabViewImpl</li>
|
|
|
1701 <li>Fixed CTabView::ShowTabControl(false) and UpdateLayout() to hide empty space</li>
|
|
|
1702 <li>CTabView: Fixed value of the active page when inserting pages before it</li>
|
|
|
1703 <li>PaneContainer: Added support for vertical title bar text</li>
|
|
|
1704 <li>atlsplit.h: Added missing support for WM_PRINTCLIENT</li>
|
|
|
1705 <li>Fix: CScrollImpl should not scroll horizontally if not needed</li>
|
|
|
1706 <li>Fixed CScrollImpl<T>::ScrollToView() to use offset correctly</li>
|
|
|
1707 <li>Fixed CPrintDialogExImpl::GetDefaults()</li>
|
|
|
1708 <li>atltheme.h: Added CBufferedAnimation::StopAllAnimations()</li>
|
|
|
1709 <li>Added support for I64 format to CString::Format()</li>
|
|
|
1710 <li>Fix: CStdIndirectDialogImpl - DLGTEMPLATEEX not supported on Mobile devices</li>
|
|
|
1711 <li>Fix: Missing CRichInkCtrlT::SetSel(), added CRichInkCtrlT::Undo()</li>
|
|
|
1712 </ul>
|
|
|
1713 </blockquote>
|
|
|
1714 <p style=margin:0px><br></p>
|
|
|
1715
|
|
|
1716 <h4>Changes Between WTL 8.0 and 7.5</h4>
|
|
|
1717 <p style=margin:0px>New and improved:</p>
|
|
|
1718 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1719 <p style=margin:0px>RunTimeHelper functions for
|
|
|
1720 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
|
|
|
1721 functions<br>Support for new Vista features:</p>
|
|
|
1722 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1723 <li>Support for new messages for common controls, dialogs, etc.</li>
|
|
|
1724 <li>Support for TaskDialog</li>
|
|
|
1725 <li>New Shell file dialogs (IFileOpenDialog and IFileSaveDialog)</li>
|
|
|
1726 <li>New Aero Wizard support classes</li>
|
|
|
1727 <li>New classes for Buffered Paint and Buffered Animation</li>
|
|
|
1728 </ul>
|
|
|
1729 <p style=margin:0px>
|
|
|
1730 New TabView classes<br>New dialog class that uses in-memory dialog templates<br>New CMultiFileDialogImpl and CMultiFileDialog classes that support
|
|
|
1731 multi-select file dialogs<br>Added message cracker handler prototypes for all handlers<br>Replaced use of _alloca with CTempBuffer everywhere (and added CTempBuffer
|
|
|
1732 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>
|
|
|
1733 New features for the App Wizard:
|
|
|
1734 </p>
|
|
|
1735 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1736 <li>New default version values</li>
|
|
|
1737 <li>Unicode build option</li>
|
|
|
1738 <li>Support for TabView applications</li>
|
|
|
1739 <li>Support for Explorer applications</li>
|
|
|
1740 </ul>
|
|
|
1741 <p style=margin:0px>Updates for the desktop App Wizard:</p>
|
|
|
1742 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1743 <li>Added calls to set font for views based on controls that use font</li>
|
|
|
1744 <li>Added scroll window as another view type</li>
|
|
|
1745 </ul>
|
|
|
1746 <p style=margin:0px>Support for VC2005 Express:</p>
|
|
|
1747 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1748 <li>Setup for VS2005x</li>
|
|
|
1749 <li>Changes in default.js to take into account that VC2005x does not have a resource editor</li>
|
|
|
1750 <li>Generated code allows use of ATL3 from the Platform SDK</li>
|
|
|
1751 </ul>
|
|
|
1752 <p style=margin:0px>New AppWizard for Mobile 2003 and 2005 platforms<br>
|
|
|
1753 New samples:</p>
|
|
|
1754 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1755 <li>Aero - demonstrates the Vista Glass UI</li>
|
|
|
1756 <li>MiniPie - Windows Mobile 2005 PPC and Smartphone sample</li>
|
|
|
1757 <li>TabBrowser - a web browser using TabView class</li>
|
|
|
1758 </ul>
|
|
|
1759 <p style=margin:0px>MTPad sample updated to show usage of CRichEditFindReplaceImpl and CEditCommands/CRichEditCommands</p>
|
|
|
1760 </blockquote>
|
|
|
1761 <p style=margin:0px><br></p>
|
|
|
1762
|
|
|
1763 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
1764 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1765 <p style=margin:0px>Command Bar:</p>
|
|
|
1766 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1767 <li>Added support for menu items with bitmaps on Vista</li>
|
|
|
1768 <li>Fix: Keyboard cues shown even if the window is disabled</li>
|
|
|
1769 </ul>
|
|
|
1770 <p style=margin:0px><br></p>
|
|
|
1771 <p style=margin:0px>CFolderDialog:</p>
|
|
|
1772 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1773 <li>Added support for PIDLs in addition to the file path</li>
|
|
|
1774 <li>Replaced use of SHGetMalloc with CoTaskMemFree</li>
|
|
|
1775 </ul>
|
|
|
1776 <p style=margin:0px><br></p>
|
|
|
1777 <p style=margin:0px>Scroll Windows:</p>
|
|
|
1778 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1779 <li>Fix: CZoomScrollImpl - some methods should be overridable</li>
|
|
|
1780 <li>Added support for WM_MOUSEHWHEEL in CScrollImpl</li>
|
|
|
1781 </ul>
|
|
|
1782 <p style=margin:0px><br></p>
|
|
|
1783 <p style=margin:0px>App Wizard:</p>
|
|
|
1784 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1785 <li>Fix: AppWizard fails to add files if C:\Temp does not exist</li>
|
|
|
1786 <li>Fix: App Wizard generates security warning when loaded</li>
|
|
|
1787 <li>Fix: App Wizard generates level 4 warning for modal dlg project</li>
|
|
|
1788 <li>Fix: App Wizard setupXX.js scripts silently fail on Vista</li>
|
|
|
1789 <li>Fix: Added code to unregister message filer and idle processing</li>
|
|
|
1790 <li>Fix: Added WS_CLIPSIBLINGS to dialog forms to avoid rebar drawing problems</li>
|
|
|
1791 </ul>
|
|
|
1792 <p style=margin:0px><br></p>
|
|
|
1793 <p style=margin:0px>App Wizard CE:</p>
|
|
|
1794 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1795 <li>Fix: App Wizard CE should not have rich edit as a view option</li>
|
|
|
1796 <li>Fix: App Wizard CE generates level 4 warnings for single instance apps</li>
|
|
|
1797 <li>Added support for Windows Mobile 6 SDKs</li>
|
|
|
1798 </ul>
|
|
|
1799 <p style=margin:0px><br></p>
|
|
|
1800 <p style=margin:0px>Cracked Handlers:</p>
|
|
|
1801 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1802 <li>Fix: Corrected MSG_WM_TIMER and handler prototype, removed unused argument (breaking change)</li>
|
|
|
1803 <li>Fix: atlcrack.h does not support WTL namespace</li>
|
|
|
1804 </ul>
|
|
|
1805 <p style=margin:0px><br></p>
|
|
|
1806 <p style=margin:0px>CDialogResize:</p>
|
|
|
1807 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1808 <li>Added SetIcon(NULL, FALSE) for CDialogResize to remove the generic icon for resizable dialogs</li>
|
|
|
1809 <li>Fix: Enabled size/move for both X and Y</li>
|
|
|
1810 <li>Added center flags for controls</li>
|
|
|
1811 </ul>
|
|
|
1812 <p style=margin:0px><br></p>
|
|
|
1813 <p style=margin:0px>CFrameWindowImpl:</p>
|
|
|
1814 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1815 <li>Fix: Const issue with title argument of AddSimpleReBarBand</li>
|
|
|
1816 <li>Fix: DECLARE_FRAME_WND_CLASS definition missing WTL namespace</li>
|
|
|
1817 </ul>
|
|
|
1818 <p style=margin:0px><br></p>
|
|
|
1819 <p style=margin:0px>Windows CE:</p>
|
|
|
1820 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1821 <li>Fix: Some symbols not defined for CE 4.0</li>
|
|
|
1822 <li>Fix: Incorrect WinCE exclusions</li>
|
|
|
1823 <li>Fix: Pocket PC - assert after navigating a CHyperLink</li>
|
|
|
1824 <li>Fix: Property sheet with listview on WM5.0 causes stack overflow</li>
|
|
|
1825 <li>Fix: CFindFile::GetFilePath() fails on diskless root requests</li>
|
|
|
1826 <li>Fix: VS 2005 dialog editor bug - DS_FIXEDSYS used but not defined</li>
|
|
|
1827 <li>Fix: Windows Mobile 2005 compatibility issues</li>
|
|
|
1828 <li>Fix: CFullScreenFrame on Smartphone 20003</li>
|
|
|
1829 <li>Fix: SmartPhone back key handling in CAppWindow</li>
|
|
|
1830 <li>Added orientation aware support to CAppStdDialogImpl</li>
|
|
|
1831 <li>Added CAxDialogImpl base for CStdDialogImpl, CStdDialogResizeImpl and CStdOrientedDialogImpl</li>
|
|
|
1832 <li>Added various CStdDialogxxx enhancements</li>
|
|
|
1833 <li>Fix: CStdDialogBase does not scale dialog title on VGA</li>
|
|
|
1834 <li>Fix: DIBINFO16 triggers code analysis warning</li>
|
|
|
1835 <li>Added LPCTSTR AtlLoadString(UINT uID) - CE only overload</li>
|
|
|
1836 <li>Added imaging draw support to CZoomScrollImpl</li>
|
|
|
1837 <li>Added CBottomTabViewImpl and CBottomTabView classes for PPC</li>
|
|
|
1838 </ul>
|
|
|
1839 <p style=margin:0px><br></p>
|
|
|
1840 <p style=margin:0px>CFindFile:</p>
|
|
|
1841 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1842 <li>Fix: CFindFile class uses CRT functions</li>
|
|
|
1843 <li>Fix: FindFile() uses lstrcpy without checking length</li>
|
|
|
1844 </ul>
|
|
|
1845 <p style=margin:0px><br></p>
|
|
|
1846 <p style=margin:0px>General:</p>
|
|
|
1847 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1848 <li>Fix: Adding ReBar bands fails with new Windows SDK</li>
|
|
|
1849 <li>Added support for relative include paths</li>
|
|
|
1850 <li>Fix: Using std::min and std::max</li>
|
|
|
1851 <li>Fix: Problems using WTL with MFC</li>
|
|
|
1852 <li>Improved support for Secure CRT</li>
|
|
|
1853 <li>Changed implementation of CSize, CPoint, CRect, and CString to be inside class definitions</li>
|
|
|
1854 <li>atltheme.h: Corrected method signatures for differences in uxtheme.h versions</li>
|
|
|
1855 <li>Replaced malloc/free with new/delete where appropriate</li>
|
|
|
1856 </ul>
|
|
|
1857 <p style=margin:0px><br></p>
|
|
|
1858 <p style=margin:0px>Misc:</p>
|
|
|
1859 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1860 <li>Fix: CString::FormatV can cause GPF with Unicode strings</li>
|
|
|
1861 <li>CHyperLink: Added handler for WM_SIZE</li>
|
|
|
1862 <li>Fix: CTheme needs constructor from HTHEME handle</li>
|
|
|
1863 <li>Added Add* methods to several control classes in atlctrls.h to augment Insert* methods</li>
|
|
|
1864 <li>Fix: Incorrect casting in CRichEditCtrl::GetLine()</li>
|
|
|
1865 <li>Fix: CTreeViewCtrl::GetItemState changed to return only state-bits as specified by mask</li>
|
|
|
1866 <li>Fix: CBitmapButton::DoPaint - wrong button image</li>
|
|
|
1867 <li>Added another variant of CDCT::Drawtext with LPTSTR argument that allows text change</li>
|
|
|
1868 <li>Fix: CRecentDocumentListBase::AddToList() uses lstrcpy</li>
|
|
|
1869 <li>Fix: AtlLoadString(uID, lpBuffer, nBufferMax) has unnecessary code</li>
|
|
|
1870 <li>Fix: CCursor::LoadOEMCursor asserts on IDC_HAND</li>
|
|
|
1871 <li>Fix: Memory leak when using CRT functions while printing</li>
|
|
|
1872 <li>Fix: Undefined CString namespace</li>
|
|
|
1873 <li>CPaneContainer: Added border styles</li>
|
|
|
1874 <li>CSplitterImpl: Added SetSplitterPosPct, and changed App Wizard code to use it</li>
|
|
|
1875 </ul>
|
|
|
1876 </blockquote>
|
|
|
1877 <p style=margin:0px><br></p>
|
|
|
1878 <p style=margin:0px><br></p>
|
|
|
1879
|
|
|
1880 <p style=margin:0px><b>Changes Between WTL 7.5 and 7.1</b></p>
|
|
|
1881 <p style=margin:0px><br></p>
|
|
|
1882 <p style=margin:0px>New and improved:</p>
|
|
|
1883 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1884 <p style=margin:0px>
|
|
|
1885 VS2005 Compatibility:
|
|
|
1886 Added support for Visual Studio 2005 - both desktop and Windows CE<br>
|
|
|
1887 Classes for icons, cursors, accelerator tables<br>
|
|
|
1888 CSortListViewImpl, CSortListViewCtrlImpl, and CSortListViewCtrl classes<br>
|
|
|
1889 Impl classes for Wizard 97 style wizards: CWizard97Sheet,
|
|
|
1890 CWizard97Page, CWizard97ExteriorPage, CWizard97InteriorPage<br>
|
|
|
1891 CMemoryDC and CDoubleBufferWindowImpl classes<br>
|
|
|
1892 Windows CE specific classes in new header, atlwince.h<br>
|
|
|
1893 CScrollContainer class<br>
|
|
|
1894 CZoomScrollImpl and CZoomScrollWindowImpl classes<br>
|
|
|
1895 CZoomPrintPreviewWindowImpl and CZoomPrintPreviewWindow classes<br>
|
|
|
1896 Global functions: AtlGetBitmapResourceInfo,
|
|
|
1897 AtlGetBitmapResourceBitsPerPixel<br>
|
|
|
1898 New REFLECT_* macros to enable selective reflection of messages<br>
|
|
|
1899 App Wizard: Added App Wizard for VS2005<br>
|
|
|
1900 App Wizard: Added App Wizard for Windows CE for VS2005<br>
|
|
|
1901 New samples: WTLExplorer, ImageView, SPControls<br>
|
|
|
1902 </p>
|
|
|
1903 </blockquote>
|
|
|
1904 <p style=margin:0px><br></p>
|
|
|
1905
|
|
|
1906 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
1907 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
1908 <p style=margin:0px>Command Bar:</p>
|
|
|
1909 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1910 <li>DrawBitmapDisabled() doesn't work correctly on Longhorn</li>
|
|
|
1911 <li>Submenu size not correct if command bar is off-screen</li>
|
|
|
1912 <li>Added handler for WM_SETTINGCHANGE to improve theme color changes</li>
|
|
|
1913 <li>Better support for 8/16/24-bit images</li>
|
|
|
1914 <li>Command Bar with 2 Levels of submenus remains active</li>
|
|
|
1915 <li>Hook procedure fails to call next hook</li>
|
|
|
1916 <li>OnDestroy() should not decrement hook use if AttachToWindow() is used</li>
|
|
|
1917 </ul>
|
|
|
1918 <p style=margin:0px><br></p>
|
|
|
1919 <p style=margin:0px>MDI Command Bar:</p>
|
|
|
1920 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1921 <li>Grows bigger if you switch between two maximized MDI child window types</li>
|
|
|
1922 <li>Move all hook messages processing to a separate function and use pT</li>
|
|
|
1923 <li>MDI icon & buttons should have themed background</li>
|
|
|
1924 <li>Should make MDI buttons gray when inactive<br> </li>
|
|
|
1925 </ul>
|
|
|
1926 <p style=margin:0px>CString:</p>
|
|
|
1927 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1928 <li>Helper functions not overloaded properly</li>
|
|
|
1929 <li>Some return types are 'const CString&' and could be just 'CString&'</li>
|
|
|
1930 <li>FormatV() passes size in characters to _alloca, should be in bytes</li>
|
|
|
1931 <li>Fixed stack corruption in FormatV()</li>
|
|
|
1932 <li>Improved boundaries checking for integer overflows/underflows<br> </li>
|
|
|
1933 </ul>
|
|
|
1934 <p style=margin:0px>CScrollImpl:</p>
|
|
|
1935 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1936 <li>Scroll bars problem when changing range</li>
|
|
|
1937 <li>SetScrollOffset() doesn't move child windows</li>
|
|
|
1938 <li>Range and thumb drawing problems</li>
|
|
|
1939 <li>Possible overflow in OnMouseWheel()</li>
|
|
|
1940 <li>Support for SIF_DISABLENOSCROLL</li>
|
|
|
1941 <li>Added ScrollToView methods</li>
|
|
|
1942 </ul>
|
|
|
1943 <p style=margin:0px><br></p>
|
|
|
1944 <p style=margin:0px>CMapScrollImpl:</p>
|
|
|
1945 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1946 <li>SetScrollSize() incorrectly inverts xMin and xMax</li>
|
|
|
1947 <li>SetScrollSize() uses bRedraw = NULL</li>
|
|
|
1948 </ul>
|
|
|
1949 <p style=margin:0px><br></p>
|
|
|
1950 <p style=margin:0px>CTheme:</p>
|
|
|
1951 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1952 <li>GetThemeFont() bad parameter ordering</li>
|
|
|
1953 <li>Uses LOGFONT and TEXTMETRIC incorrectly (SDK header problem)</li>
|
|
|
1954 </ul>
|
|
|
1955 <p style=margin:0px><br></p>
|
|
|
1956 <p style=margin:0px>CFrameWindowImpl:</p>
|
|
|
1957 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1958 <li>Improved sizing for Windows CE</li>
|
|
|
1959 <li>CreateSimpleToolBarCtrl() should handle 24-bit bitmaps</li>
|
|
|
1960 <li>Changed WinCE CCECommandBarCtrl typedef and added a PPC CMenuBarCtrl</li>
|
|
|
1961 <li>UpdatesBarPosition() doesn't take Windows CE command bar into account</li>
|
|
|
1962 </ul>
|
|
|
1963 <p style=margin:0px><br></p>
|
|
|
1964 <p style=margin:0px>CDialogResize:</p>
|
|
|
1965 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1966 <li>Enabled use for Windows CE</li>
|
|
|
1967 <li>Add WS_EX_DLGMODALFRAME to prevent empty icon</li>
|
|
|
1968 </ul>
|
|
|
1969 <p style=margin:0px><br></p>
|
|
|
1970 <p style=margin:0px>CReBarCtrl:</p>
|
|
|
1971 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1972 <li>Background not painted when resized</li>
|
|
|
1973 <li>Fixed typo in LockBands()</li>
|
|
|
1974 <li>MaximizeBand needs BOOL fIdeal argument</li>
|
|
|
1975 </ul>
|
|
|
1976 <p style=margin:0px><br></p>
|
|
|
1977 <p style=margin:0px>CRichEdit:</p>
|
|
|
1978 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1979 <li>GetSelText() should support UNICODE strings</li>
|
|
|
1980 <li>GetSelText() uses lpstr instead of lpstrText</li>
|
|
|
1981 </ul>
|
|
|
1982 <p style=margin:0px><br></p>
|
|
|
1983 <p style=margin:0px>CHyperLink:</p>
|
|
|
1984 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1985 <li>Added _xttoi() helper to avoid CRT in _ATL_MIN_CRT</li>
|
|
|
1986 <li>Fixed resource leak by destroying tooltip window<br> </li>
|
|
|
1987 </ul>
|
|
|
1988 <p style=margin:0px>CPropertySheetImpl:</p>
|
|
|
1989 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1990 <li>Improved support for Windows CE</li>
|
|
|
1991 <li>Sheet without title generates a memory fault on Windows CE</li>
|
|
|
1992 </ul>
|
|
|
1993 <p style=margin:0px><br></p>
|
|
|
1994 <p style=margin:0px>CFolderDialog:</p>
|
|
|
1995 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
1996 <li>Add a way to set an initial folder</li>
|
|
|
1997 <li>Uses BFFM_IUNKNOWN which is not always defined</li>
|
|
|
1998 </ul>
|
|
|
1999 <p style=margin:0px><br></p>
|
|
|
2000 <p style=margin:0px>Update UI:</p>
|
|
|
2001 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2002 <li>Add support to dynamically add UpdateUI elements</li>
|
|
|
2003 <li>UIUpdateMenuBarElement() should use EnableMenu() instead of SetMenuItemInfo() for Windows CE</li>
|
|
|
2004 </ul>
|
|
|
2005 <p style=margin:0px><br></p>
|
|
|
2006 <p style=margin:0px>CDC:</p>
|
|
|
2007 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2008 <li>FillSolidRect() should restore background color</li>
|
|
|
2009 <li>GetClipRgn() method missing</li>
|
|
|
2010 </ul>
|
|
|
2011 <p style=margin:0px><br></p>
|
|
|
2012 <p style=margin:0px>Printing:</p>
|
|
|
2013 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2014 <li>CPrinter::CreatePrinterDC() and CreatePrinterIC() members should be const</li>
|
|
|
2015 <li>CDevMode::CopyToHDEVMODE() is missing a call to GlobalUnlock()</li>
|
|
|
2016 </ul>
|
|
|
2017 <p style=margin:0px><br></p>
|
|
|
2018 <p style=margin:0px>AppWizard:</p>
|
|
|
2019 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2020 <li>Use WTL subfolder to create WTL category for VC7.x and VC8</li>
|
|
|
2021 <li>Rename files from WTLApp7x to WTLAppWiz, and add VS2005 setup file</li>
|
|
|
2022 <li>Fixed setup for x64</li>
|
|
|
2023 </ul>
|
|
|
2024 <p style=margin:0px><br></p>
|
|
|
2025 <p style=margin:0px>General:</p>
|
|
|
2026 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2027 <li>Redefinition of _MAX_FNAME with Dinkumware Standard C++ Library on Windows CE</li>
|
|
|
2028 <li>Added ATLVERIFY macro for ATL3</li>
|
|
|
2029 <li>Support warning level 4</li>
|
|
|
2030 <li>Missing methods CToolBarCtrl::SetButtonInfo, InsertButton, CTabCtrl::SetItem, CComboBoxEx::InsertItem, SetItem</li>
|
|
|
2031 <li>Missing support for WM_PRINTCLIENT</li>
|
|
|
2032 <li>Removed usage of IsBad* functions</li>
|
|
|
2033 <li>Fixed various compiler warnings</li>
|
|
|
2034 <li>TCHAR bugs in various files</li>
|
|
|
2035 <li>Improved Windows CE support and changes for Visual Studio 2005</li>
|
|
|
2036 </ul>
|
|
|
2037 <p style=margin:0px><br></p>
|
|
|
2038 <p style=margin:0px>Misc:</p>
|
|
|
2039 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2040 <li>CMDIChildWindowImpl: HMENU should be destroyed in OnDestroy()</li>
|
|
|
2041 <li>CStatic: Should use STM_SETIMAGE instead of STM_SETICON for SetIcon() on Windows CE</li>
|
|
|
2042 <li>CButton: GetButtonStyle() uses wrong mask</li>
|
|
|
2043 <li>CImageList: Made Duplicate() method const</li>
|
|
|
2044 <li>CListViewCtrl: Made SubItemHitTest() method const</li>
|
|
|
2045 <li>CTreeViewCtrl: GetItem() and SetItem() incorrectly restricted to _WIN32_IE >= 0x0500</li>
|
|
|
2046 <li>CMonthCalendarCtrl: GetMonthRange() should be GetMaxTodayWidth()</li>
|
|
|
2047 <li>CDateTimePickerCtrl: SetFormat() should have const argument</li>
|
|
|
2048 <li>CBitmapButtonImpl: Fixed resource leak by destroying tooltip window</li>
|
|
|
2049 <li>CMultiPaneStatusBarCtrlImpl: Cannot handle wide panes without resource strings</li>
|
|
|
2050 <li>CCheckListViewCtrlImpl: Call CheckSelectedItems() through pT</li>
|
|
|
2051 <li>CPaneContainerImpl: SetPaneContainerExtendedStyle() should use pT to call CalcSize()</li>
|
|
|
2052 <li>CFindFile: Enabled for Windows CE</li>
|
|
|
2053 <li>CPropertyPageImpl: Added handlers for callback messages</li>
|
|
|
2054 <li>atlcrack.h: Added return value for MSG_WM_APPCOMMAND</li>
|
|
|
2055 <li>CMenu: New method variants: AppendMenu, InsterMenu, ModifyMenu</li>
|
|
|
2056 <li>CFont: Added arguments for bold and italic to CreatePointFont()</li>
|
|
|
2057 <li>CSize: Added scalar operators for WTL::CSize and ATL::CSize</li>
|
|
|
2058 <li>CRecentDocumentList: Allow changing the "DocumentCount" and "Document%i" registry values strings</li>
|
|
|
2059 <li>CSplitterWindowImpl: Enabled use for Windows CE</li>
|
|
|
2060 </ul>
|
|
|
2061 </blockquote>
|
|
|
2062 <p style=margin:0px><br></p>
|
|
|
2063
|
|
|
2064 <h4>Changes Between WTL 7.1 and 7.0</h4>
|
|
|
2065 <p style=margin:0px>New and improved:</p>
|
|
|
2066 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2067 <p style=margin:0px>VC7 Compatibility: Support for ATL7 Module classes and critical sections and AppWizard setup for VC++ 7.1</p>
|
|
|
2068 <p style=margin:0px>Windows CE Support: Full compatibility with Windows CE platforms and AppWizard for eMbedded Visual C++</p>
|
|
|
2069 <p style=margin:0px>Namespace Support: Automatic "using ATL" (ATL7 only) or "using WTL" can now be turned off</p>
|
|
|
2070 <p style=margin:0px>CHyperLink New Features: not underlined, underlined when hover, command button, link tags</p>
|
|
|
2071 <p style=margin:0px>CCustomWaitCursor class supports custom and animated wait cursors</p>
|
|
|
2072 <p style=margin:0px>AtlCreateBoldFont() for creating bold version of an existing font</p>
|
|
|
2073 </blockquote>
|
|
|
2074 <p style=margin:0px><br></p>
|
|
|
2075 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
2076 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2077 <p style=margin:0px>CFrameWindowImpl:</p>
|
|
|
2078 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2079 <li>CreateSimpleToolBarCtrl() - remove dead code, improve error checking, add a global function that uses it</li>
|
|
|
2080 <li>Fix - PrepareChevronMenu() fails to get toolbar strings for Unicode</li>
|
|
|
2081 <li>CFrameWindowImplBase::Create() - improve ASSERT not to use m_hWnd if creation fails</li>
|
|
|
2082 <li>Fix - CFrameWndClassInfo::Register - should use %p formatting only for _WIN32_WINNT >= 0x0500 or for _WIN64</li>
|
|
|
2083 <li>Fix - Chevron menus not positioned correctly with RTL</li>
|
|
|
2084 <li>Fix - CMDIChildWindowImpl: Problems creating maximized child windows and handling focus</li>
|
|
|
2085 <li>Fix - CMDIChildWindowImpl: Should activate on WM_MOUSEACTIVATE</li>
|
|
|
2086 </ul>
|
|
|
2087 <p style=margin:0px><br></p>
|
|
|
2088 <p style=margin:0px>UpdateUI:</p>
|
|
|
2089 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2090 <li>Fix - Incorrectly clears default item from the system menu in MDI apps</li>
|
|
|
2091 <li>Added UISetCheck with bool instead of int for the check state</li>
|
|
|
2092 </ul>
|
|
|
2093 <p style=margin:0px><br></p>
|
|
|
2094 <p style=margin:0px>DDX:</p>
|
|
|
2095 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2096 <li>Fix - Doesn't provide a way to change floating point precision</li>
|
|
|
2097 <li>Added DDX_CONTROL_HANDLE for non-CWindowImpl objects</li>
|
|
|
2098 <li>Added DDX_Check variant with bool instead of int for the check state</li>
|
|
|
2099 </ul>
|
|
|
2100 <p style=margin:0px><br></p>
|
|
|
2101 <p style=margin:0px>Command Bar:</p>
|
|
|
2102 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2103 <li>Fix - OnDrawItem() and OnMeasureItem() don't do a good check for owner-draw menu items</li>
|
|
|
2104 <li>Fix - Disabled 32-bit images not painted correctly in 3D menu mode</li>
|
|
|
2105 <li>Fix - Popup menus not positioned correctly with RTL</li>
|
|
|
2106 <li>Fix - Uses GCL_HICONSM instead of GCLP_HICONSM with GetClassLongPtr()</li>
|
|
|
2107 </ul>
|
|
|
2108 <p style=margin:0px><br></p>
|
|
|
2109 <p style=margin:0px>MDI Command Bar:</p>
|
|
|
2110 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2111 <li>Fix - Doesn't refresh icon if MDI children are different</li>
|
|
|
2112 <li>OnAllHookMessages() - improve code to handle MDI child window class icon</li>
|
|
|
2113 <li>Fix - OnNcLButtonDown() uses TPM_VERPOSANIMATION without checking Windows version</li>
|
|
|
2114 <li>Fix - Maximized MDI buttons in wrong place for RTL</li>
|
|
|
2115 <li>Should adjust cxIdeal for rebar bands for IE4</li>
|
|
|
2116 <li>Add support for different top-level menu widths by handling ideal size for rebar bands</li>
|
|
|
2117 </ul>
|
|
|
2118 <p style=margin:0px><br></p>
|
|
|
2119 <p style=margin:0px>AppWizard:</p>
|
|
|
2120 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2121 <li>Fix - Doesn't support MSDI application as a COM Server</li>
|
|
|
2122 <li>Fix - MDI with Form View - stack overflow closing maximized MDI child windows</li>
|
|
|
2123 <li>Fix - Generates VERSION resource name 'test1' regardless of the project name</li>
|
|
|
2124 <li>Fix - Dialog project with control hosting doesn't derive a dialog from CAxDialogImpl</li>
|
|
|
2125 <li>Fix - COM Server doesn't register type library</li>
|
|
|
2126 <li>Fix - COM Server doesn't register AppID properly</li>
|
|
|
2127 </ul>
|
|
|
2128 <p style=margin:0px><br></p>
|
|
|
2129 <p style=margin:0px>CTreeViewCtrl:</p>
|
|
|
2130 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2131 <li>Fix - GetItemData() needs better return value</li>
|
|
|
2132 <li>Fix - GetItemState() should use TVM_GETITEMSTATE instead of TVM_GETITEM for IE5</li>
|
|
|
2133 <li>GetItem() and SetItem() - added new variants that use TVITEMEX</li>
|
|
|
2134 <li>Fix - SortChildren() should add recurse flag argument</li>
|
|
|
2135 <li>Fix - CTreeItem doesn't support CTreeViewCtrlExT that has different TBase than CWindow</li>
|
|
|
2136 </ul>
|
|
|
2137 <p style=margin:0px><br></p>
|
|
|
2138 <p style=margin:0px>CThemeImpl:</p>
|
|
|
2139 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2140 <li>Fix - Uses scalar delete instead of the vector one</li>
|
|
|
2141 <li>Fix - EnableThemeDialogTexture() argument is BOOL instead of DWORD</li>
|
|
|
2142 </ul>
|
|
|
2143 <p style=margin:0px><br></p>
|
|
|
2144 <p style=margin:0px>CFolderDialog:</p>
|
|
|
2145 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2146 <li>Fix - EnableOK() passes wrong arguments to BFFM_ENABLEOK</li>
|
|
|
2147 <li>Fix - Always clears m_hWnd, which causes problem for nested messages</li>
|
|
|
2148 </ul>
|
|
|
2149 <p style=margin:0px><br></p>
|
|
|
2150 <p style=margin:0px>CDialogResize:</p>
|
|
|
2151 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2152 <li>Fix - DlgResize_Init() forces dialog to be visible by using SetRedraw()</li>
|
|
|
2153 <li>Forcing WS_THICKFRAME is not enough to make dialog resizable</li>
|
|
|
2154 <li>Min track size should be used for child dialogs as well</li>
|
|
|
2155 <li>Fix - DlgResize_PositionControl() incorrectly checks return value from MapWindowPoints()</li>
|
|
|
2156 </ul>
|
|
|
2157 <p style=margin:0px><br></p>
|
|
|
2158 <p style=margin:0px>CAppModule:</p>
|
|
|
2159 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2160 <li>Fix - CAppModule methods not thread-safe</li>
|
|
|
2161 <li>Fix - AddSettingChangeNotify() unusable in multithreaded apps because of delayed initialization</li>
|
|
|
2162 </ul>
|
|
|
2163 <p style=margin:0px><br></p>
|
|
|
2164 <p style=margin:0px>CString:</p>
|
|
|
2165 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2166 <li>Fix - Delete() doesn't allow deleting more than the length of the string</li>
|
|
|
2167 <li>Fix - Append() can cause buffer overrun</li>
|
|
|
2168 <li>Fix - MakeReverse() can cause an infinite loop</li>
|
|
|
2169 <li>Fix - _cstrstr() unnecessarily inefficient</li>
|
|
|
2170 <li>Fix - FindOneOf() is not DBCS-aware</li>
|
|
|
2171 <li>Fix - Format() does not recognize %E</li>
|
|
|
2172 <li>Fix - TrimLeft() and TrimRight() are only half-way DBCS-aware</li>
|
|
|
2173 <li>Fix - May cause assertions or undefined behavior with SBCS</li>
|
|
|
2174 </ul>
|
|
|
2175 <p style=margin:0px><br></p>
|
|
|
2176 <p style=margin:0px>CRecentDocumentList:</p>
|
|
|
2177 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2178 <li>Fix - SetMaxEntries() has an incorrect ASSERT</li>
|
|
|
2179 <li>Add CString variant of the GetFromList() method</li>
|
|
|
2180 <li>Add a way to replace command IDs used for the MRU list</li>
|
|
|
2181 <li>Add a way to replace registry key name</li>
|
|
|
2182 </ul>
|
|
|
2183 <p style=margin:0px><br></p>
|
|
|
2184 <p style=margin:0px>Misc:</p>
|
|
|
2185 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2186 <li>CMessageLoop::Run() - improve the loop by checking bDoIdle before calling PeekMessage()</li>
|
|
|
2187 <li>CServerAppModule: Clean-up unused code</li>
|
|
|
2188 <li>Fix - CServerAppModule::MonitorProc() - no need to call _endthreadex()</li>
|
|
|
2189 <li>Fix - CListBox::GetText() and CComboBox::GetLBText() (CString variants) don't check for LBERR/CB_ERR</li>
|
|
|
2190 <li>Fix - CAxPropertyPageImpl doesn't create ActiveX controls with ATL7</li>
|
|
|
2191 <li>Fix - CDC::GetTextExtentExPoint() missing</li>
|
|
|
2192 <li>CDC::SetWindowExt() should have default value NULL for the lpSizeRet argument</li>
|
|
|
2193 <li>Fix - CPropertySheetWindow missing methods for PSM_INSERTPAGE, PSM_SETHEADERTITLE, and PSM_SETHEADERSUBTITLE;
|
|
|
2194 AddPage should return BOOL</li>
|
|
|
2195 <li>Fix - CMapScrollImpl::SetScrollSize() uses wrong variable</li>
|
|
|
2196 <li>Fix - CHyperLink: WM_UPDATEUISTATE causes repaint without WM_PAINT</li>
|
|
|
2197 <li>Fix - CUpDownCtrl::GetPos() returns incorrect value</li>
|
|
|
2198 <li>Fix - CUpDownCtrl::GetPos32() doesn't have default arg value</li>
|
|
|
2199 <li>Fix - CMultiPaneStatusBarCtrl: Always uses size grip for positioning panes</li>
|
|
|
2200 <li>Fix - CTabCtrl::InsertItem() should return int, not BOOL</li>
|
|
|
2201 <li>CReBarCtrl: Added LockBands() method</li>
|
|
|
2202 <li>Fix - CFont: uninitialized variable passed to DPtoLP</li>
|
|
|
2203 <li>Fix - CPrintDialogImpl: Crash when displaying Print Setup dialog</li>
|
|
|
2204 <li>Fix - CPageSetupDialogImpl::PaintHookProc() - should use T* and return UINT_PTR instead of UINT</li>
|
|
|
2205 <li>Fix - CPrintJob doesn't support printing to a file</li>
|
|
|
2206 <li>Fix - CSplitterImpl: Doesn't handle WM_CAPTURECHANGED - can get in an invalid state</li>
|
|
|
2207 <li>CRichEditCtrl: Add method for EM_SETTABSTOPS</li>
|
|
|
2208 <li>Fix - CFindFile::GetFilePath() checks for a trailing slash, but doesn't use that info</li>
|
|
|
2209 </ul>
|
|
|
2210 <p style=margin:0px><br></p>
|
|
|
2211 <p style=margin:0px>General:</p>
|
|
|
2212 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2213 <li>Fix - Problems compiling with /Zc:forScope ('for' loop scope conformance)</li>
|
|
|
2214 <li>Use named constants instead of values for pixel sizes, buffer lengths, etc.</li>
|
|
|
2215 <li>Support building with Managed C++ (/CLR)</li>
|
|
|
2216 <li>CMenuItemInfo - add run-time support for different versions of Windows</li>
|
|
|
2217 <li>CommCtrl.h change - additional fields in IMAGELISTDRAWPARAMS now depend on _WIN32_IE instead of _WIN32_WINNT</li>
|
|
|
2218 <li>Fix - Incorrect usage of CRegKey::QueryStringValue()</li>
|
|
|
2219 <li>Fix - Operator = for GDI and USER wrappers leaks handle if it's managed variant</li>
|
|
|
2220 <li>Fix - GDI and USER wrappers break under self-assignments</li>
|
|
|
2221 <li>Fix - Chaining messages with cracked handlers broken with ATL7</li>
|
|
|
2222 <li>Initialize all variables and structures prior to use</li>
|
|
|
2223 <li>Use new common control struct names</li>
|
|
|
2224 </ul>
|
|
|
2225 </blockquote>
|
|
|
2226 <p style=margin:0px><br></p>
|
|
|
2227
|
|
|
2228 <h4>Changes Between WTL 7.0 and 3.1</h4>
|
|
|
2229 <p style=margin:0px>New classes and features:</p>
|
|
|
2230 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2231 <p style=margin:0px>Support for new Common Controls v6 messages</p>
|
|
|
2232 <p style=margin:0px>Support for Visual Studio .NET and ATL 7.0</p>
|
|
|
2233 <p style=margin:0px>WTLApp70 - new AppWizard for Visual Studio .NET</p>
|
|
|
2234 <p style=margin:0px>CThemeImpl - implements support for Windows XP themes</p>
|
|
|
2235 <p style=margin:0px>CMDICommandBarCtrl - implements Command Bar for MDI applications</p>
|
|
|
2236 </blockquote>
|
|
|
2237 <p style=margin:0px><br></p>
|
|
|
2238 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
2239 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2240 <p style=margin:0px>Command Bar:</p>
|
|
|
2241 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2242 <li>Bogus assert in OnDestroy</li>
|
|
|
2243 <li>Check marks can be truncated in large font settings</li>
|
|
|
2244 <li>Use pT to access GetSystemSettings, DrawMenuText, DrawBitmapDisabled, Draw3DCheckmark, DoPopupMenu,
|
|
|
2245 DoTrackPopupMenu, TakeFocus, GiveFocusBack, so they can be overridden</li>
|
|
|
2246 <li>No hot-tracking if main window is not active</li>
|
|
|
2247 <li>Top level items not painted inactive if app looses activation while drop down menu is displayed</li>
|
|
|
2248 <li>Added Windows XP flat menus support</li>
|
|
|
2249 <li>Drop-down menu doesn't close if clicked again (Windows XP only)</li>
|
|
|
2250 <li>Menu item text and accelerator text too close with some settings</li>
|
|
|
2251 <li>Keyboard can still access clipped menu items</li>
|
|
|
2252 <li>Added support for hiding keyboard navigation indicators until Alt key is pressed (system setting)</li>
|
|
|
2253 <li>Added AddIcon and ReplaceIcon variants for icon resources</li>
|
|
|
2254 <li>Image size calculated differently in different places</li>
|
|
|
2255 <li>Add support for 32-bit (alpha channel) bitmaps for Windows XP</li>
|
|
|
2256 <li>Fixed width calculation for default menu items</li>
|
|
|
2257 </ul>
|
|
|
2258 <p style=margin:0px><br></p>
|
|
|
2259 <p style=margin:0px>CFrameWindowImpl:</p>
|
|
|
2260 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2261 <li>AddSimpleReBarBandCtrl sets toolbar extended styles without preserving old ones</li>
|
|
|
2262 <li>PrepareChevronMenu should not create menu items for buttons with TBSTATE_HIDDEN</li>
|
|
|
2263 <li>TPM_VERPOSANIMATION will not be defined in atlframe.h if atlctrlw.h is included first</li>
|
|
|
2264 <li>CreateSimpleToolBarCtrl - height might be too small if large font is used</li>
|
|
|
2265 <li>PrepareChevronMenu uses TB_GETBUTTONTEXT, better use TB_GETBUTTONINFO</li>
|
|
|
2266 <li>Chevron menu doesn't close if clicked again (Windows XP only)</li>
|
|
|
2267 <li>Should check local classes for superclassing</li>
|
|
|
2268 <li>Add support for 32-bit (alpha channel) bitmaps for Windows XP</li>
|
|
|
2269 </ul>
|
|
|
2270 <p style=margin:0px><br></p>
|
|
|
2271 <p style=margin:0px>Update UI:</p>
|
|
|
2272 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2273 <li>UISetText can clear other menu item flags</li>
|
|
|
2274 <li>CUpdateUI::UIUpdateState assigns value with |= instead of =</li>
|
|
|
2275 <li>Added UISetDefault() and fix default state to work with menus</li>
|
|
|
2276 </ul>
|
|
|
2277 <p style=margin:0px><br></p>
|
|
|
2278 <p style=margin:0px>CString:</p>
|
|
|
2279 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2280 <li>GetBuffer() and GetBufferSetLength() should return NULL in out-of-memory condition</li>
|
|
|
2281 <li>Added missing methods: separate c-tors for LPCSTR and LPCWSTR, CollateNoCase, TrimRight and TrimLeft variants, Find
|
|
|
2282 variants, moved FormatV to public</li>
|
|
|
2283 <li>Fix _IsValidString usage</li>
|
|
|
2284 <li>FormatV incorrectly calculates buffer size (too big)</li>
|
|
|
2285 <li>Usage of _ttoi causes problems with _ATL_MIN_CRT in VC7</li>
|
|
|
2286 </ul>
|
|
|
2287 <p style=margin:0px><br></p>
|
|
|
2288 <p style=margin:0px>CDC:</p>
|
|
|
2289 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2290 <li>GetTabbedTextExtent() should return DWORD instead of BOOL</li>
|
|
|
2291 <li>Add FillRect() that accept color index instead of a brush handle</li>
|
|
|
2292 <li>DrawDragRect() leaks regions and a brush</li>
|
|
|
2293 <li>Improved DitherBlt() - added brushes as arguments for used colors</li>
|
|
|
2294 <li>Added DrawShadowText() (uses LoadLibrary/GetProcAddress to run on older Windows)</li>
|
|
|
2295 </ul>
|
|
|
2296 <p style=margin:0px><br></p>
|
|
|
2297 <p style=margin:0px>CListViewCtrl:</p>
|
|
|
2298 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2299 <li>SetItemState should use LVM_SETITEMSTATE</li>
|
|
|
2300 <li>SetItemCount should return a BOOL</li>
|
|
|
2301 </ul>
|
|
|
2302 <p style=margin:0px><br></p>
|
|
|
2303 <p style=margin:0px>CRichEditCtrl:</p>
|
|
|
2304 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2305 <li>Added SetCharFormat() variant that accepts flags (for SCF_ALL)</li>
|
|
|
2306 <li>CharFromPos() should pass a pointer to POINTL in lParam</li>
|
|
|
2307 <li>GetTextRange() - should add Unicode variant for rich edit version >= 2</li>
|
|
|
2308 <li>Added another FormatRange() that can accept a pointer to FORMATRANGE (needed for passing NULL to clear cache)</li>
|
|
|
2309 </ul>
|
|
|
2310 <p style=margin:0px><br></p>
|
|
|
2311 <p style=margin:0px>CHyperLink:</p>
|
|
|
2312 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2313 <li>Allow overriding of Navigate and CalcLabelRect</li>
|
|
|
2314 <li>Doesn't handle right or center alignment</li>
|
|
|
2315 </ul>
|
|
|
2316 <p style=margin:0px><br></p>
|
|
|
2317 <p style=margin:0px>CColorDialog:</p>
|
|
|
2318 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2319 <li>Has static variables that were not initialized with _ATL_MIN_CRT</li>
|
|
|
2320 <li>Fixed HookProc for ColorOK message - the message is not sent, but the hook proc is called directly</li>
|
|
|
2321 </ul>
|
|
|
2322 <p style=margin:0px><br></p>
|
|
|
2323 <p style=margin:0px>atlcrack.h:</p>
|
|
|
2324 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2325 <li>MSG_WM_TIMER crack macro should cast to TIMERPROC instead of TIMERPROC*</li>
|
|
|
2326 <li>Add cracked handlers for all new messages in Common Controls 6</li>
|
|
|
2327 </ul>
|
|
|
2328 <p style=margin:0px><br></p>
|
|
|
2329 <p style=margin:0px>atlapp.h:</p>
|
|
|
2330 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2331 <li>Fixed problems with atlTraceUI with ATL7</li>
|
|
|
2332 <li>#ifdefs for ATL7 were in the wrong place</li>
|
|
|
2333 </ul>
|
|
|
2334 <p style=margin:0px><br></p>
|
|
|
2335 <p style=margin:0px>atlctrls.h:</p>
|
|
|
2336 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2337 <li>Add support in control classes for all new messages in Common Controls 6</li>
|
|
|
2338 </ul>
|
|
|
2339 <p style=margin:0px><br></p>
|
|
|
2340 <p style=margin:0px>CRecentDocumentList:</p>
|
|
|
2341 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2342 <li>AtlCompactPath corrupts memory if filename is longer than requested compact size</li>
|
|
|
2343 <li>ReadFromRegistry incorrectly checks for error when reading from registry</li>
|
|
|
2344 </ul>
|
|
|
2345 <p style=margin:0px><br></p>
|
|
|
2346 <p style=margin:0px>CSplitterWindow:</p>
|
|
|
2347 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2348 <li>Incorrect calculation of middle position</li>
|
|
|
2349 <li>3D border now drawn only if WS_EX_CLIENTEDGE is set</li>
|
|
|
2350 </ul>
|
|
|
2351 <p style=margin:0px><br></p>
|
|
|
2352 <p style=margin:0px>Printing:</p>
|
|
|
2353 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2354 <li>Uses DWORD instead of an int for a job ID</li>
|
|
|
2355 <li>CPrintJob::CancelPrintJob shouldn't have a return value</li>
|
|
|
2356 </ul>
|
|
|
2357 <p style=margin:0px><br></p>
|
|
|
2358 <p style=margin:0px>Misc:</p>
|
|
|
2359 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2360 <li>CRegKey::QueryValue and SetValue are deprecated in ATL7</li>
|
|
|
2361 <li>Added direct support for ATL7</li>
|
|
|
2362 <li>Replace ScreenToClient and ClientToScreen with MapWindowPoints to support RTL layout</li>
|
|
|
2363 <li>CFindFile::GetFilePath(LPTSTR...) returns path without the file name</li>
|
|
|
2364 <li>MDI: Updating client edge in WM_WINDOWPOSCHANGING causes minimize/maximize/restore animation problems,
|
|
|
2365 use WM_WINDOWPOSCHANGED</li>
|
|
|
2366 <li>Custom Draw: Added CCustomDraw::OnSubItemPrePaint() overrideable method</li>
|
|
|
2367 <li>CFolderDialogImpl uses 'this' for BROWSEINFO.lParam instead of T*</li>
|
|
|
2368 <li>CImageList::Destroy shouldn't use Detach()</li>
|
|
|
2369 <li>ATL7 has its own AtlLoadString</li>
|
|
|
2370 <li>CPropertySheet doesn't close when you press X button</li>
|
|
|
2371 <li>Fixed problems for _U_STRINGorID and others that moved from atlbase.h to atlwin.h in ATL7</li>
|
|
|
2372 <li>Add AtlMessageBox() that accepts either in-memory or resource strings</li>
|
|
|
2373 <li>CScrollImpl: fixed bug with scrolling child windows</li>
|
|
|
2374 <li>CPropertyPageImpl: Add new notification handlers to enable direct return values
|
|
|
2375 (use #ifdef _WTL_NEW_PAGE_NOTIFY_HANDLERS to use them)</li>
|
|
|
2376 <li>Add AtlInitCommonControls() to simplify use</li>
|
|
|
2377 <li>DDX: Fixed usage of the size of char arrays for DDX</li>
|
|
|
2378 <li>CPageSetupDialog: changed usage of CWndProcThunk because of changes in ATL7</li>
|
|
|
2379 <li>Fix confusing precedence in expressions</li>
|
|
|
2380 <li>Removed forward declarations because default values for template arguments
|
|
|
2381 shouldn't be specified in two places (we don't need them anyway)</li>
|
|
|
2382 <li>Win64: Fix /Wp64 warnings from 32-bit VC7 compiler caused by SDK headers</li>
|
|
|
2383 <li>Fix direct usage of English strings (they can be #defined to something else now)</li>
|
|
|
2384 <li>AtlGetCommCtrlVersion not defined if _ATL_DLL is in ATL 3.0 (and CmdBar is using it)</li>
|
|
|
2385 </ul>
|
|
|
2386 <p style=margin:0px><br></p>
|
|
|
2387 <p style=margin:0px>AppWizard:</p>
|
|
|
2388 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2389 <li>Added manifest for Common Controls 6</li>
|
|
|
2390 <li>Loading Rich Edit DLL should use HMODULE</li>
|
|
|
2391 <li>Should not use atlimpl.cpp for ATL7</li>
|
|
|
2392 <li>Added message handler prototypes to generated files</li>
|
|
|
2393 <li>VERSION resource always has VALUE "OLESelfRegister" (now only for COM servers)</li>
|
|
|
2394 <li>Added option for putting implementation in CPP files</li>
|
|
|
2395 <li>d-tor for the thread manager class in MSDI project executed after the heap is destroyed</li>
|
|
|
2396 <li>Wrong settings when changing to a dialog project and back (AppWizard 6.0 only)</li>
|
|
|
2397 <li>Remove cut/copy/paste accelerators for form view and dialogs projects</li>
|
|
|
2398 <li>Fix toolbar bitmaps so they are not transparent (problem with Windows XP flat menus only)</li>
|
|
|
2399 <li>Used CMDICommandBarCtrl for MDI apps</li>
|
|
|
2400 <li>Add symbols required for VC7 Class Wizard to recognize an ATL project</li>
|
|
|
2401 <li>Changed default styles for the rebar, so it does look OK without CmdBar and with manifest</li>
|
|
|
2402 <li>Added setup programs for both AppWizards</li>
|
|
|
2403 <li>Remove ignored resource attributes: MOVEABLE, PURE, etc. (AppWizard 7.0 only)</li>
|
|
|
2404 <li>Add call to DefWindowProc to WinMain to resolve possible problems if MSLU is used</li>
|
|
|
2405 </ul>
|
|
|
2406 <p style=margin:0px><br></p>
|
|
|
2407 <p style=margin:0px>Samples:</p>
|
|
|
2408 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2409 <li>Updated toolbar bitmaps, added #ifdefs for ATL7, added manifest file for CommCtrl6, qualified _U_RECT with WTL
|
|
|
2410 namespace, updated use of deprecated CRegKey functions, added VC7 projects</li>
|
|
|
2411 <li>Added Alpha sample</li>
|
|
|
2412 </ul>
|
|
|
2413 </blockquote>
|
|
|
2414 <p style=margin:0px><br></p>
|
|
|
2415
|
|
|
2416 <h4>Changes Between WTL 3.1 and 3.0</h4>
|
|
|
2417 <p style=margin:0px>New classes:</p>
|
|
|
2418 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2419 <p style=margin:0px>
|
|
|
2420 CPaneContainer - implements a window that provides a title bar and a close button (like Explorer)
|
|
|
2421 </p>
|
|
|
2422 <p style=margin:0px>
|
|
|
2423 CDialogResize - an MI class that allows resizing of dialogs (or any windows with child windows/controls)
|
|
|
2424 </p>
|
|
|
2425 <p style=margin:0px>
|
|
|
2426 CAxPropertyPageImpl - implements a property page that can host ActiveX controls
|
|
|
2427 </p>
|
|
|
2428 </blockquote>
|
|
|
2429 <p style=margin:0px><br></p>
|
|
|
2430 <p style=margin:0px>Fixes and enhancements:</p>
|
|
|
2431 <blockquote style='margin-top:0px;margin-bottom:0px'>
|
|
|
2432 <p style=margin:0px>
|
|
|
2433 CServerAppModule now clears m_hEventShutdown to avoid calling CloseHandle twice
|
|
|
2434 </p>
|
|
|
2435 <p style=margin:0px><br></p>
|
|
|
2436 <p style=margin:0px>CString:</p>
|
|
|
2437 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2438 <li>operator += now leaves original string intact if it's out of memory</li>
|
|
|
2439 <li>Fixed bad DWORD_PTR usage in TrimRight, TrimLeft, Replace, Remove</li>
|
|
|
2440 <li>Removed dependencies on CRT for projects that don't use it</li>
|
|
|
2441 <li>Insert - fixed string corruption in release builds</li>
|
|
|
2442 <li>Added optional floating point formatting (for projects that use CRT)</li>
|
|
|
2443 </ul>
|
|
|
2444 <p style=margin:0px><br></p>
|
|
|
2445 <p style=margin:0px>
|
|
|
2446 CEdit and CRichEditCtrl: SetSelAll and SetSelNone had reversed implementation
|
|
|
2447 </p>
|
|
|
2448 <p style=margin:0px><br></p>
|
|
|
2449 <p style=margin:0px>
|
|
|
2450 atlres.h: Changed IDs so that they are compatible with MFC's afxres.h
|
|
|
2451 </p>
|
|
|
2452 <p style=margin:0px><br></p>
|
|
|
2453 <p style=margin:0px>Command Bar:</p>
|
|
|
2454 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2455 <li>Added LoadMappedImages()</li>
|
|
|
2456 <li>Changed handling of left and right arrow keys so that they don't close context menus</li>
|
|
|
2457 <li>Add code to handle left/right arrow keys correctly on mirrored (RTL) systems</li>
|
|
|
2458 <li>Removed handler that eats parent window's WM_SETTINGCHANGE</li>
|
|
|
2459 <li>Fixed bitmap resource leak in Draw3DCheckmark</li>
|
|
|
2460 <li>Fixed incorrect usage of CharLower in OnMenuChar</li>
|
|
|
2461 <li>Fixed wrong color for the disabled items in hi-contrast mode</li>
|
|
|
2462 <li>Added code to gray menu items if main window is inactive</li>
|
|
|
2463 <li>Fixed keyboard mnemonic handling for IE 4</li>
|
|
|
2464 <li>Fixed hook problems with multiple cmdbars in the same thread</li>
|
|
|
2465 <li>Added support for radio menu items</li>
|
|
|
2466 <li>Added support for disabled top-level menu items (also added in CFrameWindowImpl::PrepareChevronMenu)</li>
|
|
|
2467 <li>Added keyboard shortcut (Alt+/) to invoke chevron menu</li>
|
|
|
2468 <li>Added support to override menu item length in a derived class</li>
|
|
|
2469 </ul>
|
|
|
2470 <p style=margin:0px><br></p>
|
|
|
2471 <p style=margin:0px>CBitmapButton:</p>
|
|
|
2472 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2473 <li>Bypassed BUTTON DefWindowProc for hover style so that the button doesn't take focus</li>
|
|
|
2474 <li>Added BMPBTN_AUTOFIRE extended style</li>
|
|
|
2475 </ul>
|
|
|
2476 <p style=margin:0px><br></p>
|
|
|
2477 <p style=margin:0px>CDC:</p>
|
|
|
2478 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2479 <li>Added _WTL_FORWARD_DECLARE_CSTRING define to allow usage of methods that accept CString</li>
|
|
|
2480 <li>Fixed errors in GetTextFace and GetMenuItemString</li>
|
|
|
2481 <li>Added GetCharWidth32</li>
|
|
|
2482 <li>Added DrawIconEx method</li>
|
|
|
2483 </ul>
|
|
|
2484 <p style=margin:0px><br></p>
|
|
|
2485 <p style=margin:0px>CMenu:</p>
|
|
|
2486 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2487 <li>Implement following missing methods:<br>
|
|
|
2488 GetMenuDefaultItem<br>
|
|
|
2489 GetMenuInfo<br>
|
|
|
2490 GetMenuItemRect<br>
|
|
|
2491 HiliteMenuItem<br>
|
|
|
2492 IsMenu<br>
|
|
|
2493 MenuItemFromPoint<br>
|
|
|
2494 SetMenuDefaultItem<br>
|
|
|
2495 SetMenuInfo</li>
|
|
|
2496 <li>GetMenuString - fixed to include space for terminating NULL character in returning string</li>
|
|
|
2497 </ul>
|
|
|
2498 <p style=margin:0px><br></p>
|
|
|
2499 <p style=margin:0px>
|
|
|
2500 GDI and USER classes should destroy the GDI/USER objects in Attach if GDI/USER resource is managed
|
|
|
2501 </p>
|
|
|
2502 <p style=margin:0px><br></p>
|
|
|
2503 <p style=margin:0px>CFrameWindowImpl:</p>
|
|
|
2504 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2505 <li>OnToolTipText shouldn't save tool tip text if it's not for a menu</li>
|
|
|
2506 <li>AddSimpleReBarBandCtrl now adds chevron style only for toolbars with buttons</li>
|
|
|
2507 <li>AddSimpleReBarBand(Ctrl) - calc band ID if not specified</li>
|
|
|
2508 </ul>
|
|
|
2509 <p style=margin:0px><br></p>
|
|
|
2510 <p style=margin:0px>CRecentDocumentList:</p>
|
|
|
2511 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2512 <li>Fix - UpdateMenu deletes wrong menu item when the list is empty</li>
|
|
|
2513 <li>Added code to allow restricting the number of characters displayed by MRU menu items</li>
|
|
|
2514 </ul>
|
|
|
2515 <p style=margin:0px><br></p>
|
|
|
2516 <p style=margin:0px>Update UI:</p>
|
|
|
2517 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2518 <li>Added support for blocking accelerators for disabled items</li>
|
|
|
2519 <li>Improved search code assuming there are no duplicate entries (and added checks for duplicates)</li>
|
|
|
2520 </ul>
|
|
|
2521 <p style=margin:0px><br></p>
|
|
|
2522 <p style=margin:0px>CSplitterWindow:</p>
|
|
|
2523 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2524 <li>CSplitterWindowImpl should derive from CSplitterImpl<T , t_bVertical> to allow overriding of methods</li>
|
|
|
2525 <li>Added single pane mode and SetSinglePaneMode/GetSinglePaneMode</li>
|
|
|
2526 <li>Added right/bottom aligned resize mode using extended styles SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED</li>
|
|
|
2527 </ul>
|
|
|
2528 <p style=margin:0px><br></p>
|
|
|
2529 <p style=margin:0px>
|
|
|
2530 atlcrack.h: Added handlers for following new
|
|
|
2531 messages:<br>
|
|
|
2532 WM_APPCOMMAND<br>
|
|
|
2533 WM_NCXBUTTONDOWN<br>
|
|
|
2534 WM_NCXBUTTONUP<br>
|
|
|
2535 WM_NCXBUTTONDBLCLK<br>
|
|
|
2536 WM_XBUTTONDOWN<br>
|
|
|
2537 WM_XBUTTONUP<br>
|
|
|
2538 WM_XBUTTONDBLCLK
|
|
|
2539 </p>
|
|
|
2540 <p style=margin:0px><br></p>
|
|
|
2541 <p style=margin:0px>Win64:</p>
|
|
|
2542 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2543 <li>Dialog return value should use DWLP_MSGRESULT and SetWindowLongPtr</li>
|
|
|
2544 <li>CMenu::InsertMenu, AppendMenu, ModifyMenu should have UINT_PTR for the menu ID</li>
|
|
|
2545 <li>Added appropriate type casts</li>
|
|
|
2546 <li>CFrameWindowImpl::m_szAutoName - changed the size to fit the pointer value size</li>
|
|
|
2547 <li>CListViewCtrl::SortItems should use LPARAM for user data instead of DWORD</li>
|
|
|
2548 </ul>
|
|
|
2549 <p style=margin:0px><br></p>
|
|
|
2550 <p style=margin:0px>Misc:</p>
|
|
|
2551 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2552 <li>Added optional mask argument to all methods for setting extended styles</li>
|
|
|
2553 <li>CMDIWindow::MDIRestore - fixed to send WM_MDIRESTORE instead of WM_MDIICONARRANGE</li>
|
|
|
2554 <li>CListViewCtrl: Added SortItemsEx method</li>
|
|
|
2555 <li>CToolBarCtrl::GetButtonInfo - fixed to return int instead of BOOL</li>
|
|
|
2556 <li>Added CToolBarCtrl::SetButtonSize and SetBitmapSize that accept cx and cy instead of SIZE</li>
|
|
|
2557 <li>Printing: Changed how GetNewDevModeForPage works (comments in code)</li>
|
|
|
2558 <li>CFileDialogImpl::_OnTypeChange incorrectly calls pT->OnSelChange instead of pT->OnTypeChange</li>
|
|
|
2559 <li>CMultiPaneStatusBarCtrl::GetPaneTipText - fixed to use index instead of and ID internally</li>
|
|
|
2560 <li>CWinDataExchange: Added references to arguments of DoDataExchange, so there are no level 4 warning
|
|
|
2561 even if the map is empty</li>
|
|
|
2562 <li>CPropertySheetWindow: Added new, IE 5.0 specific methods</li>
|
|
|
2563 <li>CPropertyPageImpl: Added new, IE 5.0 specific methods</li>
|
|
|
2564 </ul>
|
|
|
2565 <p style=margin:0px><br></p>
|
|
|
2566 <p style=margin:0px>AppWizard:</p>
|
|
|
2567 <ul style='margin-top:0px;margin-bottom:0px'>
|
|
|
2568 <li>added calls to RemoveMessageFilter and RemoveIdleHandler in CMainFrame::OnDestroy for COM server projects</li>
|
|
|
2569 <li>added scroll bars for HTML view</li>
|
|
|
2570 <li>CAppServerModule now handles -embedding as well as -automation</li>
|
|
|
2571 <li>corrected code in CMainFrame::OnShowToolBar to correctly identify the toolbar in a rebar</li>
|
|
|
2572 <li>dialog based app code now derives from CUpdateUI as public</li>
|
|
|
2573 </ul>
|
|
|
2574 </blockquote>
|
|
|
2575 <p style=margin:0px><br></p>
|
|
|
2576
|
|
|
2577 <p style=margin:0px>- end of readme.html -</p>
|
|
|
2578
|
|
|
2579 </body>
|
|
|
2580
|
|
|
2581 </html>
|