Mercurial > foo_out_sdl
comparison foosdk/wtl/ReadMe.html @ 1:20d02a178406 default tip
*: check in everything else
yay
| author | Paper <paper@tflc.us> |
|---|---|
| date | Mon, 05 Jan 2026 02:15:46 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:e9bb126753e7 | 1:20d02a178406 |
|---|---|
| 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> |
