<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>一无所知</title><link>http://caviler.cndev.org/</link><description>世界如此之大，世界又如此之小！我什么都不知，只知我一无所知！</description><managingEditor>一无所知</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.95.2004.101</generator><item><dc:creator>一无所知</dc:creator><title>【编程】界面 - 皮肤界面(自画窗口标题) </title><link>http://caviler.cndev.org/archive/2005/04/27/11823.aspx</link><pubDate>2005-04-27 12:23:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/27/11823.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/11823.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/27/11823.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/11823.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/11823.aspx</trackback:ping><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在皮肤界面中，最难的恐怕就是自画窗口标题了，网上虽然有各种各样的解决方法，但是都不是很完美，而商业皮肤界面程序包是需要花钱买的。&lt;/P&gt;
&lt;P&gt;其中最主要的问题有：&lt;/P&gt;
&lt;P&gt;1、在标题栏或边框移动鼠标时系统会画窗口标题&lt;/P&gt;
&lt;P&gt;2、没有任务栏图标。当取消了 SYS_CAPTION Style 后系统不会画窗口标题了，但是同时该窗口也没有任务栏图标。&lt;/P&gt;
&lt;P&gt;3、最大化后在标题栏按下鼠标时系统会画窗口标题&lt;/P&gt;
&lt;P&gt;4、按下系统按钮再移动鼠标到按钮外后没有正确的重画按钮&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 没办法，只有自己摸索了，研究了网络上的一些代码片段和几个比较成功的皮肤界面程序比如 RealPlay, Microsoft Money ，发现它们采用的手法都不尽相同，而网上关于这个问题也没有很完美的解决方案，总是有点小瑕疵。最后，去研究了一下 Windows 2000 的核心代码中关于窗口管理部分，终于算是比较满意的解决了上面的这些问题，但是，我采用的方法和RealPlay, Microsoft Money 都不太一样，RealPlay 好象没有了 NC_* 的消息，而Microsoft Money 则是采用遮盖的方法，而我是采用直接重画的方法，关键是找到重画的关键点。&lt;/P&gt;
&lt;P align=center&gt;&lt;IMG src="http://blog.csdn.net/images/blog_csdn_net/caviler/78880/o_ThemeWindow.jpg"&gt;&lt;/P&gt;
&lt;P&gt;关键代码：&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 1&lt;/SPAN&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN_MSG_MAP(TCaptionBaseT)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 2&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCHITTEST,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCHitTest)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 3&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCPAINT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCPaint)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 4&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 5&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCLBUTTONDOWN,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCLButtonDown)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 6&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCLBUTTONUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCLButtonUp)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 7&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCMOUSEMOVE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCMouseMove)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 8&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_LBUTTONUP,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnLButtonUp)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;nbsp; 9&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;10&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_NCACTIVATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnNCActivate)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;11&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;12&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SYSCOMMAND,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSysCommand)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;13&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_INITMENU,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnInitMenu)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;14&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;15&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SIZE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSizeChanged)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;16&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_STYLECHANGED ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnStyleChanged)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;17&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt; MESSAGE_HANDLER(WM_SETTINGCHANGE, OnSettingsChange) &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;18&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SETTEXT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSetText)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;19&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_SETICON ,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnSetIcon)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;20&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;21&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_CREATE,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnCreate)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;22&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE_HANDLER(WM_INITDIALOG,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OnInitDialog)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;23&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; END_MSG_MAP()&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;24&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;25&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnNCLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;26&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_903_1846_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;27&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; wParam 由 OnNcHitTest 返回&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;28&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; static_cast&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;29&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;30&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POINT pt &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_983_1028_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{ GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;31&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;32&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;33&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;( wParam ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;34&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1084_1831_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;35&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMINBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;36&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMAXBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;37&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCLOSE:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;38&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTHELP:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;39&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; wParam;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;41&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 表示已经处理过了，否则系统会重画按钮且 WM_NC_LBUTTONUP 不会被触发。&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;42&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;doReDrawCaption();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;43&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;44&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCAPTION:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;45&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 继续让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;46&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1371_1760_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;47&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;GetStyle();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;48&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MINIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;49&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1441_1527_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;50&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; BUG: Prevents move of iconic window, but fixes Windows freeze&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;51&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;52&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;53&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(nStyle &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MAXIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;54&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1571_1755_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;55&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 在系统最大化的时候需要在鼠标按下时重画标题栏&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;56&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 表示已经处理过了，否则系统会重画按钮。&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;57&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 让系统对 HTCAPTION 进行处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;58&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;DefWindowProc(uMsg, wParam, lParam);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;59&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;doReDrawCaption();&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;60&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;61&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;62&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;63&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;default&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;64&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 继续让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;65&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;66&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;67&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;68&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;69&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;70&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnNCLButtonUp(UINT &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;/**/&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1878_1885_Open_Text&gt;&lt;SPAN style="COLOR: #008000"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;uMsg&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;71&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_1935_2917_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;72&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; wParam 由 OnNcHitTest 返回&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;73&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; pT &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; static_cast&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;T&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;74&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;75&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;76&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;77&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(wParam &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; mn_ButtonPress)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;78&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2058_2872_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;79&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 鼠标按下和释放在相同的按钮上&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;80&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; POINT pt &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2095_2140_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{ GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;81&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;( wParam ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;82&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2167_2868_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;83&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMINBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;84&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_MINIMIZE, MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;85&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;86&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;87&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTMAXBUTTON:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;88&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonMove &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 最大画后鼠标位置将改变&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;89&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;(pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;GetStyle() &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; WS_MAXIMIZE)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;90&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_RESTORE,&amp;nbsp; MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;91&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;92&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_SYSCOMMAND, SC_MAXIMIZE, MAKELPARAM(pt.x, pt.y));&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;93&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;94&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;95&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTCLOSE:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;96&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_CLOSE);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;97&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;98&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;99&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTHELP:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;100&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pT&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;PostMessage(WM_HELP);&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;101&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; TRUE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 禁止系统做缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;102&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;103&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTSYSMENU:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;104&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;default&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;:&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;105&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt; 让系统进行缺省处理&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;106&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;107&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;108&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;109&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;110&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;111&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/None.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;112&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LRESULT OnLButtonUp(UINT &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;/**/&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_2946_2953_Open_Text&gt;&lt;SPAN style="COLOR: #008000"&gt;/*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;uMsg&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008000"&gt;*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;, WPARAM wParam, LPARAM lParam, BOOL&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;amp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; bHandled)&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;113&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Image onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top&gt;&lt;IMG id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text.style.display='none'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Image.style.display='inline'; ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text.style.display='inline';" alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ContractedBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"&gt;...&lt;/SPAN&gt;&lt;SPAN id=ctl00$ctl00$MasterBodyContentPlaceHolder$BodyContentPlaceHolder$Highlighter_3003_3094_Open_Text&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;114&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bHandled &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;115&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;116&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mb_OnPressed&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; FALSE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;117&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mn_ButtonPress&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; HTNOWHERE;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;118&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;119&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/InBlock.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;120&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;IMG alt="" src="http://www.actiprosoftware.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/IMG&gt;&lt;img src ="http://caviler.cndev.org/aggbug/11823.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】ICON - 从 DLL/EXE/ICL 中抽取图标(16 Bit ICL 文件的处理)</title><link>http://caviler.cndev.org/archive/2005/04/04/9964.aspx</link><pubDate>2005-04-04 14:04:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/04/9964.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/9964.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/04/9964.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/9964.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/9964.aspx</trackback:ping><description>&lt;P&gt;　　一直以来用 AxIcon Workshop 来处理图标，但是 AxIcon Workshop稍微有点问题就是，不支持重复图标过滤，而且，在处理大量图标的时候很容易没有响应！：（&lt;/P&gt;
&lt;P&gt;　　为此，我自己写了一个图标处理工具，可以自动抽取 DLL/EXE/ICL&amp;nbsp;等文件中的图标，并进行重复图标自动过滤，图标扫描等功能，其中比较困难的是对 ICL 文件的处理，ICL 文件本质上是一个 16 Bit 的 DLL 资源文件，但是在 Windows 2000 下好象没有直接操作它的函数，至少我是不知道，查了 Google 也没查到相关资料，没有办法，只有硬来了，查了 16 Bit 的 EXE 的文件结构资料，结合网上可以找到的一些对16 Bit 的 EXE 的读写代码片段，再经过探索和摸索，终于成功的将从 ICL 中分离出 ICON 。其中的关键代码如下：希望给你有帮助&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef UINT16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE16;&lt;BR&gt;typedef HANDLE16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *LPHANDLE16;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;DECLARE_HANDLE(FARPROC16);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#pragma pack( push )&lt;BR&gt;#pragma pack( 2 )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; offset;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; flags;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HANDLE16 handle;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage;&lt;BR&gt;} NE_NAMEINFO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type_id;&amp;nbsp;&amp;nbsp; /* Type identifier */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Number of resources of this type */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FARPROC16&amp;nbsp;&amp;nbsp; resloader; /* SetResourceHandler() */&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Name info array.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;BR&gt;} NE_TYPEINFO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idReserved;&amp;nbsp;&amp;nbsp;// Reserved (must be 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idType;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Resource Type (1 for icons)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;idCount;&amp;nbsp;&amp;nbsp;// How many images?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bWidth;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Width, in pixels, of the image&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bHeight;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Height, in pixels, of the image&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bColorCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Number of colors in image (0 if &amp;gt;=8bpp)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BYTE&amp;nbsp;bReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reserved ( must be 0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;wPlanes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Color Planes&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORD&amp;nbsp;wBitCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bits per pixel&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD&amp;nbsp;dwBytesInRes;&amp;nbsp;&amp;nbsp;&amp;nbsp; // How many bytes in this resource?&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DWORD&amp;nbsp;dwImageOffset;&amp;nbsp;&amp;nbsp; // Where in the file is this image?&lt;BR&gt;} NE_ICONDIRENTRY, *LPNE_ICONDIRENTRY;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;// 图标目录&lt;BR&gt;typedef struct &lt;BR&gt;{&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Reserved (must be 0)&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idType;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Resource type (1 for icons)&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;idCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;// How many images?&lt;BR&gt;} GRPICONDIR, *LPGRPICONDIR;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;// 图标项&lt;BR&gt;typedef struct&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bWidth;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Width, in pixels, of the image&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bHeight;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Height, in pixels, of the image&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bColorCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Number of colors in image (0 if &amp;gt;=8bpp)&lt;BR&gt;&amp;nbsp;BYTE&amp;nbsp;&amp;nbsp; bReserved;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Reserved&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; wPlanes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Color Planes&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; wBitCount;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Bits per pixel&lt;BR&gt;&amp;nbsp;DWORD&amp;nbsp; dwBytesInRes;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // how many bytes in this resource?&lt;BR&gt;&amp;nbsp;WORD&amp;nbsp;&amp;nbsp; nID;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the ID&lt;BR&gt;} GRPNE_ICONDIRENTRY, *LPGRPNE_ICONDIRENTRY;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#pragma pack( pop )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ccffcc"&gt;#define NE_RT_CURSOR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8001&lt;BR&gt;#define NE_RT_BITMAP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8002&lt;BR&gt;#define NE_RT_ICON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8003&lt;BR&gt;#define NE_RT_MENU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8004&lt;BR&gt;#define NE_RT_DIALOG&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8005&lt;BR&gt;#define NE_RT_STRING&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8006&lt;BR&gt;#define NE_RT_FONTDIR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8007&lt;BR&gt;#define NE_RT_FONT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8008&lt;BR&gt;#define NE_RT_ACCELERATOR&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8009&lt;BR&gt;#define NE_RT_RCDATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x800a&lt;BR&gt;#define NE_RT_GROUP_CURSOR&amp;nbsp;&amp;nbsp; 0x800c&lt;BR&gt;#define NE_RT_GROUP_ICON&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x800e&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;// ICL 图标枚举&lt;BR&gt;HRESULT ICL_EnumResourceNames(IN CONST HANDLE hFile, IN UINT nType, IN NE_ENUM_RES_NAME_PROC pFunc, IN LPARAM lParam)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;DWORD dwRead = 0;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;// 读区 DOS 文件头&lt;BR&gt;&amp;nbsp;IMAGE_DOS_HEADER oDOSHeader;&lt;BR&gt;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oDOSHeader, sizeof(IMAGE_DOS_HEADER), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;// 读区 NE 文件头&lt;BR&gt;&amp;nbsp;IMAGE_OS2_HEADER oNEHeader;&lt;BR&gt;&amp;nbsp;::SetFilePointer(hFile, oDOSHeader.e_lfanew, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oNEHeader, sizeof(IMAGE_OS2_HEADER), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;// 读区 RSRC 资源表&lt;BR&gt;&amp;nbsp;DWORD nPos = oDOSHeader.e_lfanew + oNEHeader.ne_rsrctab;&lt;BR&gt;&amp;nbsp;::SetFilePointer(hFile, nPos, NULL, FILE_BEGIN);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;WORD nSizeShift;&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;nSizeShift, sizeof(WORD), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NE_TYPEINFO oInfo;&lt;BR&gt;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oInfo, sizeof(NE_TYPEINFO), &amp;amp;dwRead, NULL ) )&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;// 枚举所有的资源&lt;BR&gt;&amp;nbsp;DWORD nPosEnd&amp;nbsp; = oDOSHeader.e_lfanew + oNEHeader.ne_restab;&lt;BR&gt;&amp;nbsp;DWORD nPosName = nPosEnd + 4;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;NE_NAMEINFO oName;&lt;BR&gt;&amp;nbsp;UINT nIndex = 0;&lt;BR&gt;&amp;nbsp;while (oInfo.type_id != 0 &amp;amp;&amp;amp; nPos &amp;lt; nPosEnd)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (UINT nCount = oInfo.count; nCount &amp;gt; 0; nCount--)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile(hFile, &amp;amp;oName, sizeof(NE_NAMEINFO), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(oInfo.type_id == nType)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 保存文件位置&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD nPosOld = ::SetFilePointer(hFile, 0, NULL, FILE_CURRENT);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 资源名&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BYTE nSize;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosName, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;nSize, sizeof(BYTE), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(nSize &amp;gt; 255) return E_FAIL;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nPosName += sizeof(BYTE) + nSize;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ACHAR sName[255 + 1];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, sName, nSize, &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(nSize == 1 &amp;amp;&amp;amp; sName[0] == __A(&lt;/FONT&gt;&lt;A href="mailto:'@'"&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;'@'&lt;/FONT&gt;&lt;/A&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;)) nSize = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sName[nSize] = ACHR_NULL;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 资源组&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GRPICONDIR oDir;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DWORD nPosGroup = oName.offset &amp;lt;&amp;lt; nSizeShift;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosGroup, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oDir, sizeof(GRPICONDIR), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 处理&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STK_CONVERSIONU;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pFunc(hFile, nIndex++, STK_A2T(sName), &amp;amp;oDir, lParam);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// 恢复文件位置&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;::SetFilePointer(hFile, nPosOld, NULL, FILE_BEGIN);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(!::ReadFile( hFile, &amp;amp;oInfo, sizeof(NE_TYPEINFO), &amp;amp;dwRead, NULL))&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return ::GetLastError();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;return S_OK;&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/9964.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】ISAPI - 从 Window 2000 IIS 5.0 升级到 Windows 2003 IIS 6.0</title><link>http://caviler.cndev.org/archive/2005/04/04/9962.aspx</link><pubDate>2005-04-04 13:41:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/04/04/9962.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/9962.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/04/04/9962.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/9962.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/9962.aspx</trackback:ping><description>&lt;P&gt;以前在Window 2000 IIS5.0下写了一个URL检测 + 重定向 + Session + 入侵检测 + 自动解压+ 自动解密的 ISAPI Filter ，用于数字图书馆项目，一直都很好使， 最近升级到 Widnows 2003 IIS6.0 后，发现　ISAPI Filter 根本运行不起来，后来查了又查，原来是文件的权限问题，IIS 6.0 ISAPI Filter 好象是在　Service 帐号下运行的(具体我也没去查过)&amp;nbsp;,将数据文件的读写权限给予Service 帐号后,ISAPI Filter 终于可以正常运行了，但是，在随后的测试中，我发现，数据解密结果不正确，郁闷啊，查吧............&lt;/P&gt;
&lt;P&gt;经过日志跟踪和分析，终于发现问题所在，原来　IIS 6.0 和 IIS 5.0 发送给客户端的时候应答稍微有点不一样，IIS 5.0 是先单独发应一次答头 HttpFilterProc-&amp;gt;OnSendData，&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;HTTP/1.1 200 OK&lt;BR&gt;Server: Microsoft-IIS/5.0&lt;BR&gt;X-Powered-By: ASP.NET&lt;BR&gt;Date: Mon, 04 Apr 2005 05:39:01 GMT&lt;BR&gt;Content-Type: application/octet-stream&lt;BR&gt;Accept-Ranges: bytes&lt;BR&gt;Last-Modified: Mon, 04 Apr 2005 05:39:00 GMT&lt;BR&gt;ETag: W/"90c9399ad838c51:fd1"&lt;BR&gt;Content-Length: 661442&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;然后分多次发送数据　HttpFilterProc-&amp;gt;OnSendData；&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;而 IIS6.0 却是将应答头和数据一起发送的，也就是说IIS 6.0 的第一次HttpFilterProc-&amp;gt;OnSendData　中即包含了应答头，也包含了数据，&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;HTTP/1.1 200 OK&lt;BR&gt;Date: Mon, 04 Apr 2005 05:17:09 GMT&lt;BR&gt;Content-Length: 661442&lt;BR&gt;Content-Type: application/pdf&lt;BR&gt;Last-Modified: Mon, 04 Apr 2005 05:16:41 GMT&lt;BR&gt;Accept-Ranges: bytes&lt;BR&gt;ETag: "4c949b7cd538c51:ef5"&lt;BR&gt;Server: Microsoft-IIS/6.0&lt;BR&gt;X-Powered-By: ASP.NET&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #99ccff"&gt;%PDu&#x1F;t&#x1C;v?&#x1C;在&amp;gt;2&#x6;&#x10;&#x7;fW[[;&#x8; e?&#x17;v0F[Z4&#x13;&#x1A;楽=Z&#x10;;&#x16;uJVYCYX(|XES&#x14;&#x18;&#x14;敵蛣?&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;而原先的程序没有为这种情况设计，经过调整后，ISAPI Filter 已经成功的运行在　IIS 5.0 和　IIS 6.0 下了。&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/9962.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】开源(OpenSource) - WTL 7.5</title><link>http://caviler.cndev.org/archive/2005/03/03/7610.aspx</link><pubDate>2005-03-03 09:59:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/03/03/7610.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/7610.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/03/03/7610.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/7610.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/7610.aspx</trackback:ping><description>&lt;TABLE id=AutoNumber3 style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Arial&gt;&lt;B&gt;Windows Template Library - WTL Version 7.5&lt;/B&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (build 5058) 2/27/05&lt;BR&gt;Development Release&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;HR&gt;
&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;Copyright &amp;#169; 2005 Microsoft Corporation. All rights reserved.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;This file is a part of the Windows Template Library.&lt;BR&gt;The use and distribution terms for this software are covered by the&lt;BR&gt;Common Public License 1.0 (&lt;A href="http://opensource.org/licenses/cpl.php" target=_blank&gt;http://opensource.org/licenses/cpl.php&lt;/A&gt;)&lt;BR&gt;which can be found in the file CPL.TXT at the root of this distribution.&lt;BR&gt;By using this software in any fashion, you are agreeing to be bound by&lt;BR&gt;the terms of this license. You must not remove this notice, or&lt;BR&gt;any other, from this software.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;HR&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Welcome to the Windows Template Library, version 7.5. This document contains the following topics:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Introduction"&gt;Introduction&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Features And Installation"&gt;Features And Installation&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Packing List"&gt;Packing List&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Class Overview"&gt;Class Overview&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#ATL/WTL AppWizard"&gt;ATL/WTL AppWizard&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Support for Windows CE"&gt;&lt;FONT face=Arial size=2&gt;S&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Support for Windows CE"&gt;upport for Windows CE&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Notes"&gt;Notes&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Changes Between WTL 7.5 And 7.1"&gt;Changes Between WTL 7.5 And 7.1&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Changes Between WTL 7.1 And 7.0"&gt;Changes Between WTL 7.1 And 7.0&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Changes Between WTL 7.0 And 3.1"&gt;Changes Between WTL 7.0 And 3.1&lt;/A&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;A href="file:///D:/@OpenSource/WTL/vcs/wtl/Notes/readme.htm#Changes Between WTL 3.1 And 3.0"&gt;Changes Between WTL 3.1 And 3.0&lt;/A&gt;&lt;/FONT&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial&gt;&lt;B&gt;&lt;A name=Introduction&gt;&lt;/A&gt;1. Introduction&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Windows Template Library, or WTL, is a set of classes that extend ATL to support more complex user interfaces for either applications or various UI components, while maintaining the big advantage of ATL - small and fast code. WTL classes were designed to be the best and the easiest way to implement rich Win32 based UI for ATL based applications, servers, components, and controls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;WTL provides support for implementing many user interface elements, from frame and popup windows, to MDI, standard and common controls, common dialogs, property sheets and pages, GDI objects, UI updating, scrollable windows, splitter windows, command bars, etc. The WTL classes are mostly templated and use minimal instance data and inline functions. They were not designed as a framework, so they do not force a particular application model, and can accommodate any. The classes do not use hooks or thread local storage, so they have no restrictions that those techniques impose. They also have no inter-dependencies and can be freely mixed with straight SDK code. In summary, WTL delivers very small and efficient code, very close in size and speed to SDK programs, while presenting a more logical, object oriented model to a programmer.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial&gt;&lt;B&gt;&lt;A name="Features And Installation"&gt;&lt;/A&gt;2. Features And Installation&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;This is the fifth public release of WTL, after WTL 3.0, 3.1, 7.0, and 7.1. It is also the first release of WTL under the Common Public License, enabling developers from the WTL community to contribute to the library.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;WTL classes can be used with either VC++ 6.0 and ATL 3.0, VC++ .NET 2002 and ATL 7.0, VC++ .NET 2003 and ATL 7.1, or EVC++ 4.0 or 3.0 with ATL for Windows CE. AppWizard for VC++ .NET 2002 and 2003 is included.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;The WTL classes are provided in header files located in the include directory. The only header files that must be included is atlapp.h, while others can be used when needed. The name of the file doesn't mean that you have to create an application, just that atlapp.h contains base definitions required for WTL projects.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;To install WTL, just copy the whole directory structure, or unpack the archive file, to the location of your choice. Please be sure to &lt;B&gt;add the WTL\include directory&lt;/B&gt; to the list of include directories in VC++, so that the compiler can find them when you include them in your projects..&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Setup programs for the AppWizard are provided. After executing the setup scripts, ATL/WTL AppWizard will appear in the list of AppWizards when you select File.New.Project in VC++ IDE. The file AppWiz\setup70.js is the setup script for VC++ .NET 2002, while AppWiz\setup71.js is for VC++ .NET 2003.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;To manually install AppWizard for VC++ .NET 2002, copy all WTLAppWiz.* files from AppWiz\Files to VC++ .NET projects directory, %VC7DIR%\Vc7\vcprojects, where %VC7DIR% is the directory where VC++ .NET 2002 is installed. After that,&amp;nbsp;open WTLAppWiz.vsz and modify the like that contains ABSOLUTE_PATH to contain %WTLDIR%\AppWiz\Files, where %WTLDIR% is the directory where WTL files are.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;For VC++ .NET 2003 use the WTLApp71.* files with the same steps.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Platform support and requirements:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compiler/IDE/ATL:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Visual C++ 6.0&amp;nbsp;&amp;nbsp; (ATL 3.0)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Visual C++.NET 2002&amp;nbsp;&amp;nbsp; (ATL 7.0)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Visual C++.NET 2003&amp;nbsp;&amp;nbsp; (ATL 7.1)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SDK (optional):&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Any Platform SDK from January 2000 release up to the latest (February 2003)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows CE development:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eMbedded Visual C++ 3.0 - Pocket PC, Pocket PC 2002&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eMbedded Visual C++ 4.0 - STANDARDSDK_410, Pocket PC 2003, Smartphone 2003&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;This release also brings the preliminary support for the Visual Studio 2005 (codename Whidbey) Beta1. App Wizards for both Windows applications and SmartDevice projects are provided.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial&gt;&lt;B&gt;&lt;A name="Packing List"&gt;&lt;/A&gt;3. Packing List&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE id=AutoNumber2 style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 width=497 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;File Name&lt;/FONT&gt;&lt;FONT face=Arial&gt;:&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Description:&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;
&lt;HR&gt;
&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;readme.htm&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;this file&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;CPL.TXT&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Common Public License&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&lt;FONT face=Arial size=2&gt;include\&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlapp.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;message loop, interfaces, general app stuff&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlcrack.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;message cracker macros&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlctrls.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;standard and common control classes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlctrlw.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;command bar class&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlctrlx.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;bitmap button, check list view, and other controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlddx.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;data exchange for dialogs and windows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atldlgs.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;common dialog classes, property sheet and page classes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlframe.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;frame window classes, MDI, update UI classes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlgdi.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;DC classes, GDI object classes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlmisc.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;WTL ports of CPoint, CRect, CSize, CString, etc.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlprint.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;printing and print preview&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlres.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;standard resource IDs&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlresce.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;standard resource IDs for Windows CE&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlscrl.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;scrollable windows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlsplit.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;splitter windows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atltheme.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Windows XP theme classes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atluser.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;menu class&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; atlwinx.h&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;extensions of ATL windowing support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&lt;FONT face=Arial size=2&gt;Samples\&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Alpha\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Windows XP 32-bit (alpha) toolbar images&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BmpView\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;bitmap file view sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MTPad\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;multithreaded notepad sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MDIDocVw\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;WTL version of the MDI sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GuidGen\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;WTL version of the GuidGen sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Wizard97Test\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Wizard97 showcase sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WTLExplorer\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;Explorer-like application sample&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&lt;FONT face=Arial size=2&gt;AppWiz\&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup70.js&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;AppWizard setup program for VC++ .NET 2002&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup71.js&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;AppWizard setup program for VC++ .NET 2003&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup80.js&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;AppWizard setup program for VC++ 2005 Beta1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Files\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;WTL AppWizard for VC++ .NET 2002 and 2003 files&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=494 colSpan=2&gt;&lt;FONT face=Arial size=2&gt;AppWizCE\&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setup80.js&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;AppWizard setup program for VC++ 2005 Beta1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=136&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Files\...&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=358&gt;&lt;FONT face=Arial size=2&gt;WTL AppWizard for VC++ 2005 Beta1 files&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial&gt;&lt;B&gt;&lt;A name="Class Overview"&gt;&lt;/A&gt;4. Class Overview&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE id=AutoNumber4 style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;usage:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;mi base&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; a base class (multiple inheritance)&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;client&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; wrapper class for a handle&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;as-is&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; to be used directly&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;impl&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; implements a window (has WindowProc) or other support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;helper&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; a helper class&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;base&lt;/B&gt;&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&amp;nbsp; -&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; implementation base class&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=0 width=600 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width=220&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;class name:&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=114&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;usage:&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=253&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;description:&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;app/module support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CAppModule&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;app support, CComModule derived&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CServerAppModule&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;module for COM servers&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMessageLoop&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;message loop&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMessageFilter&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;message filter interface&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CIdleHandler&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;idle time handler interface&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;frame windows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImplBase&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;frame window support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;COwnerDraw&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;owner-draw msg map and handlers&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDialogResize&amp;lt;&amp;gt; &lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;support for resizing dialogs&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;MDI windows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMDIWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;MDI methods&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMDIFrameWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;MDI frame window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMDIChildWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;MDI child window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;update UI&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CUpdateUIBase&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;base&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CUpdateUI&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi base class&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;provides support for UI update&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDynamicUpdateUI&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi base class&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;provides dynamic support for UI update&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;standard controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CStatic&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;static ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CButton&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;button ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CListBox&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;list box ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CComboBox&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;combo box ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CEdit&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;edit ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CEditCommands&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;standard edit command support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CScrollBar&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scroll bar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;common controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CImageList&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;image list&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CListViewCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;list view ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTreeViewCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;tree view ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTreeItem&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;helper&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTreeViewCtrlEx&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;uses CTreeItem&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CHeaderCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;header bar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CToolBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;toolbar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CStatusBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;status bar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTabCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;tab ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CToolTipCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;tool tip ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CToolInfo&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;helper&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTrackBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;trackbar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CUpDownCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;up-down ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CProgressBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;progress bar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CHotKeyCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;hot key ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CAnimateCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;animation ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRichEditCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;rich edit ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRichEditCommands&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;std rich edit commands support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDragListBox&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;drag list box&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDragListNotifyImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi class&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;support for notifications&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CReBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;rebar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CComboBoxEx&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;extended combo box&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDateTimePickerCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;date-time ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFlatScrollBarImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;flat scroll bars support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFlatScrollBar&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;flat scroll bars support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CIPAddressCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;IP address ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMonthCalendarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;month calendar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCustomDraw&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi class&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;custom draw handling support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;Windows CE controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCECommandBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;command bar ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCECommandBandsCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;command bands ctrl&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;property sheet &amp;amp; page&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertySheetWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertySheetImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;property sheet &lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertySheet&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertyPageWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertyPageImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;property page&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPropertyPage&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CAxPropertyPageImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;property page with ActiveX&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CAxPropertyPage&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97SheetWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97SheetImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;Wizard97 property sheet&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97Sheet&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97PageWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97PageImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;Wizard97 property page&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97ExteriorPageImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;Wizard97 exterior page&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWizard97InteriorPageImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;Wizard97 interior page&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;common dialogs&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFileDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GetOpenFileName/GetSaveFileName&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFileDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFolderDialogImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;directory picker&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFolderDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFontDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;ChooseFont common dialog&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFontDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRichEditFontDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;ChooseFont for rich edit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRichEditFontDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CColorDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;ChooseColor common dialog&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CColorDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;PrintDlg common dialog&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintDialogExImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;new Win2000 print dialog&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintDialogEx&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPageSetupDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;PageSetupDlg common dialog&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPageSetupDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFindReplaceDialogImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;FindText/ReplaceText&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFindReplaceDialog&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;USER support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMenu&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;menu support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMenuItemInfo&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;MENUITEMINFO wrapper&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CAccelerator&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;accelerator table&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CIcon&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;icon object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCursor&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;cursor object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CResource&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;generic resource object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;GDI support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDC&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;DC support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPaintDC&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;for handling WM_PAINT&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CClientDC&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;for GetDC&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWindowDC&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;for GetWindowDC&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPen&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI pen object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CBrush&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI brush object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CLogFont&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;LOGFONT wrapper&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CFont&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI font object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CBitmap&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI bitmap object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPalette&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI palette object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRgn&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;GDI region object&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;enhanced controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCommandBarCtrlImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;command bar&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCommandBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CBitmapButtonImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;bitmap button&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CBitmapButton&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCheckListViewCtrlImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;check list box&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCheckListViewCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CHyperLinkImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;hyper link control&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CHyperLink&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWaitCursor&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;wait cursor&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CCustomWaitCursor&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;custom and animated wait cursor&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMultiPaneStatusBarCtrlImpl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;status bar with multiple panes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMultiPaneStatusBarCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPaneContainerImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;pane window container&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPaneContainer&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSortListViewImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;sorting list view control&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSortListViewCtrlImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSortListViewCtrl&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;scrolling window support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CScrollImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scrolling support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CScrollWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scrollable window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMapScrollImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scrolling support with map modes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CMapScrollWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scrollable window with map modes&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CZoomScrollImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;zooming support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CZoomScrollWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;zooming window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CScrollContainerImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;scroll container window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CScrollContainer&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;splitter window support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSplitterImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;splitter support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSplitterWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;splitter window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSplitterWindow&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;theming support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CTheme&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;Windows XP theme&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CThemeImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;theming support for a window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;printing support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrinterInfo&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;print info support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrinter&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;printer handle wrapper&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CDevMode&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;DEVMODE wrapper&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrinterDC&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;printing DC support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintJobInfo&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;print job info&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintJob&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;client&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;print job support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintPreview&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;print preview support&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintPreviewWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;print preview window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPrintPreviewWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CZoomPrintPreviewWindowImpl&amp;lt;&amp;gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;impl&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;zooming print preview window&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CZoomPrintPreviewWindow&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=593 colSpan=3&gt;&lt;FONT face=Arial size=2&gt;&lt;BR&gt;miscellaneous&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CSize&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;WTL port of MFC's CSize&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CPoint&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;WTL port of MFC's CPoint&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRect&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;WTL port of MFC's CRect&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CString&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;WTL port of MFC's CString&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CWinDataExchange&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;data exchange for controls&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=221&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;CRecentDocumentList&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD width=115&gt;&lt;FONT face=Arial size=2&gt;mi or as-is&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=255&gt;&lt;FONT face=Arial size=2&gt;support for MRU list&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial&gt;&lt;B&gt;&lt;A name="ATL/WTL AppWizard"&gt;&lt;/A&gt;5. ATL/WTL AppWizard&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;ATL/WTL AppWizard generates starting code for a WTL application. It has options to create code for different application types and features.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;You can choose the following options:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Application type (SDI, multi thread SDI, MDI, dialog based)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Support for hosting ActiveX controls&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;COM server support&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Class implementation in .CPP files&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Common Control manifest&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Toolbar, rebar, command bar, status bar&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;View window, and it's type (generic, dialog based form, or a list box, edit, list view, tree view, rich edit based, HTML page)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;For dialog based apps or a form based view window - support for hosting ActiveX controls in the dialog&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;ATL/WTL AppWizard supports VC++ .NET 2002 and 2003.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name="Support for Windows CE"&gt;&lt;/A&gt;6. Support for Windows CE&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;WTL now fully supports building projects for the Windows CE platforms. This initial support for Windows CE was implemented primarily for eMbedded Visual C++ 4.0 with Pocket PC 2003 and SmartPhone 2003 SDKs. However, it can be used with other versions and configurations. For instance, Standard SDK 4.1 is supported as well. Considerable effort was made to provide the best Windows CE support, however, there might be some limitations because different platforms provide different programming support.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;The support for Windows CE was not designed to port projects for the desktop version of Windows as-is to the Windows CE platforms, but to allow use of the same library, WTL, for both desktop Windows and Windows CE. Applications for Windows CE are often designed in a different way, and they use different platform services. WTL depends on the version of ATL provided with each Windows CE platform, and supports controls and services that are appropriate and supported for each Windows CE platform. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name=Notes&gt;&lt;/A&gt;7. Notes&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WTL provides several classes that are also present in ATL 7.0 and 7.1. The classes are: &lt;B&gt;CSize&lt;/B&gt;, &lt;B&gt;CPoint&lt;/B&gt;, &lt;B&gt;CRect&lt;/B&gt;, and &lt;B&gt;CString&lt;/B&gt; in atlmisc.h. While their existence will not cause any problems, their usage might. You should qualify the class you want to use with a namespace to resolve ambiguity, either ATL or WTL namespace, depending on which implementation you want to use. Alternatively, you can conditionally exclude WTL implementations, by defining preprocessor symbol &lt;B&gt;_WTL_NO_WTYPES&lt;/B&gt; for CSize, CPoint, and CRect; and &lt;B&gt;_WTL_NO_CSTRING&lt;/B&gt; for CString.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you use WTL 7.5 with VC++ 6.0/ATL 3.0 and define _ATL_STATIC_REGISTRY, you'll get errors referring to the ambiguous symbol ATL. This is caused by a bug in ATL 3.0 - in atlbase.h, the file statreg.h is included inside of the ATL namespace, and it contains another namespace ATL declaration. Because of that, the compiler cannot decide between ATL:: and ATL::ATL:: namespaces. The solution is either to fix the atlbase.h, or to surround atlbase.h include declaration with following statements:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define ATL&amp;nbsp;&amp;nbsp; ATLFIX&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #include &amp;lt;atlapp.h&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #undef ATL&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; namespace ATL = ::ATLFIX;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Windows XP allows applications to use Common Controls version 6, which supports only Unicode applications. While WTL allows creation of Ansi applications that use Common Controls 6, that should be used only for test programs and is not recommended or supported for released projects. If you want to use Common Controls 6, build your application as Unicode.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Several of the sample programs included with WTL were extended to support building for Windows CE. These samples are not specially redesigned for Windows CE, but just modified to allow you to compile and run them on the Windows CE platforms. The samples are: BmpView, GuidGen, and MTPad.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WTL supports building projects with EVC++ 3.0 only for Pocket PC and Pocket PC 2002 platforms, as other platforms don't provide minimum support for ATL or other required libraries.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;~&lt;/B&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The old AppWizards for VC++ 6.0 and eVC++ 4.0/3.0 are not included in this version of WTL because they cannot be a part of an Open Source project. They are still available in the previous release, WTL 7.1.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name="Changes Between WTL 7.5 And 7.1"&gt;&lt;/A&gt;8. Changes Between WTL 7.5 And 7.1&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;New and improved:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;lt;&amp;lt; TODO: Add items &amp;gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fixes and enhancements:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;&amp;lt;&amp;lt; TODO: Add items &amp;gt;&amp;gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name="Changes Between WTL 7.1 And 7.0"&gt;&lt;/A&gt;9. Changes Between WTL 7.1 And 7.0&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;New and improved:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;VC7 Compatibility: Support for ATL7 Module classes and critical sections and AppWizard setup for VC++ 7.1&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Windows CE Support: Full compatibility with Windows CE platforms and AppWizard for eMbedded Visual C++&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Namespace Support: Automatic "using ATL" (ATL7 only) or "using WTL" can now be turned off&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CHyperLink New Features: not underlined, underlined when hover, command button, link tags&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CCustomWaitCursor class supports custom and animated wait cursors&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;AtlCreateBoldFont() for creating bold version of an existing font&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fixes and enhancements:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImpl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CreateSimpleToolBarCtrl() - remove dead code, improve error checking, add a global function that uses it&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - PrepareChevronMenu() fails to get toolbar strings for Unicode&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImplBase::Create() - improve ASSERT not to use m_hWnd if creation fails&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CFrameWndClassInfo::Register - should use %p formatting only for _WIN32_WINNT &amp;gt;= 0x0500 or for _WIN64&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Chevron menus not positioned correctly with RTL&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CMDIChildWindowImpl: Problems creating maximized child windows and handling focus&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CMDIChildWindowImpl: Should activate on WM_MOUSEACTIVATE&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;UpdateUI:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Incorrectly clears default item from the system menu in MDI apps&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Added UISetCheck with bool instead of int for the check state&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;DDX:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Doesn't provide a way to change floating point precision&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Added DDX_CONTROL_HANDLE for non-CWindowImpl objects&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Added DDX_Check variant with bool instead of int for the check state&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Command Bar:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - OnDrawItem() and OnMeasureItem() don't do a good check for owner-draw menu items&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Disabled 32-bit images not painted correctly in 3D menu mode&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Popup menus not positioned correctly with RTL&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Uses GCL_HICONSM instead of GCLP_HICONSM with GetClassLongPtr()&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;MDI Command Bar:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Doesn't refresh icon if MDI children are different&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;OnAllHookMessages() - improve code to handle MDI child window class icon&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - OnNcLButtonDown() uses TPM_VERPOSANIMATION without checking Windows version&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Maximized MDI buttons in wrong place for RTL&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Should adjust cxIdeal for rebar bands for IE4&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Add support for different top-level menu widths by handling ideal size for rebar bands&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;AppWizard:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Doesn't support MSDI application as a COM Server&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - MDI with Form View - stack overflow closing maximized MDI child windows&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Generates VERSION resource name 'test1' regardless of the project name&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Dialog project with control hosting doesn't derive a dialog from CAxDialogImpl&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - COM Server doesn't register type library&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - COM Server doesn't register AppID properly&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CTreeViewCtrl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - GetItemData() needs better return value&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - GetItemState() should use TVM_GETITEMSTATE instead of TVM_GETITEM for IE5&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;GetItem() and SetItem() - added new variants that use TVITEMEX&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - SortChildren() should add recurse flag argument&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CTreeItem doesn't support CTreeViewCtrlExT that has different TBase than CWindow&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CThemeImpl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Uses scalar delete instead of the vector one&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - EnableThemeDialogTexture() argument is BOOL instead of DWORD&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CFolderDialog:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - EnableOK() passes wrong arguments to BFFM_ENABLEOK&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Always clears m_hWnd, which causes problem for nested messages&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CDialogResize:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - DlgResize_Init() forces dialog to be visible by using SetRedraw()&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Forcing WS_THICKFRAME is not enough to make dialog resizable&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Min track size should be used for child dialogs as well&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - DlgResize_PositionControl() incorrectly checks return value from MapWindowPoints()&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CAppModule:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CAppModule methods not thread-safe&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - AddSettingChangeNotify() unusable in multithreaded apps because of delayed initialization&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CString:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Delete() doesn't allow deleting more than the length of the string&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Append() can cause buffer overrun&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - MakeReverse() can cause an infinite loop&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - _cstrstr() unnecessarily inefficient&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - FindOneOf() is not DBCS-aware&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Format() does not recognize %E&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - TrimLeft() and TrimRight() are only half-way DBCS-aware&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - May cause assertions or undefined behavior with SBCS&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CRecentDocumentList:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - SetMaxEntries() has an incorrect ASSERT&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Add CString variant of the GetFromList() method&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Add a way to replace command IDs used for the MRU list&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Add a way to replace registry key name&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Misc:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CMessageLoop::Run() - improve the loop by checking bDoIdle before calling PeekMessage()&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CServerAppModule: Clean-up unused code&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CServerAppModule::MonitorProc() - no need to call _endthreadex()&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CListBox::GetText() and CComboBox::GetLBText() (CString variants) don't check for LBERR/CB_ERR&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CAxPropertyPageImpl doesn't create ActiveX controls with ATL7&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CDC::GetTextExtentExPoint() missing&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CDC::SetWindowExt() should have default value NULL for the lpSizeRet argument&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CPropertySheetWindow missing methods for PSM_INSERTPAGE, PSM_SETHEADERTITLE, and PSM_SETHEADERSUBTITLE; AddPage should return BOOL&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CMapScrollImpl::SetScrollSize() uses wrong variable&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CHyperLink: WM_UPDATEUISTATE causes repaint without WM_PAINT&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CUpDownCtrl::GetPos() returns incorrect value&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CUpDownCtrl::GetPos32() doesn't have default arg value&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CMultiPaneStatusBarCtrl: Always uses size grip for positioning panes&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CTabCtrl::InsertItem() should return int, not BOOL&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CReBarCtrl: Added LockBands() method&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CFont: uninitialized variable passed to DPtoLP&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CPrintDialogImpl: Crash when displaying Print Setup dialog&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CPageSetupDialogImpl::PaintHookProc() - should use T* and return UINT_PTR instead of UINT&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CPrintJob doesn't support printing to a file&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CSplitterImpl: Doesn't handle WM_CAPTURECHANGED - can get in an invalid state&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CRichEditCtrl: Add method for EM_SETTABSTOPS&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - CFindFile::GetFilePath() checks for a trailing slash, but doesn't use that info&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;General:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Problems compiling with /Zc:forScope ('for' loop scope conformance)&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Use named constants instead of values for pixel sizes, buffer lengths, etc.&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Support building with Managed C++ (/CLR)&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CMenuItemInfo - add run-time support for different versions of Windows&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CommCtrl.h change - additional fields in IMAGELISTDRAWPARAMS now depend on _WIN32_IE instead of _WIN32_WINNT&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Incorrect usage of CRegKey::QueryStringValue()&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Operator = for GDI and USER wrappers leaks handle if it's managed variant&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - GDI and USER wrappers break under self-assignments&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fix - Chaining messages with cracked handlers broken with ATL7&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Initialize all variables and structures prior to use&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Use new common control struct names&lt;/FONT&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name="Changes Between WTL 7.0 And 3.1"&gt;&lt;/A&gt;10. Changes Between WTL 7.0 And 3.1&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;New classes and features:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Support for new Common Controls v6 messages&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Support for Visual Studio .NET and ATL 7.0&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;WTLApp70 - new AppWizard for Visual Studio .NET&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CThemeImpl - implements support for Windows XP themes&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CMDICommandBarCtrl - implements Command Bar for MDI applications&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fixes and enhancements:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Command Bar:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Bogus assert in OnDestroy&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Check marks can be truncated in large font settings&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Use pT to access GetSystemSettings, DrawMenuText, DrawBitmapDisabled, Draw3DCheckmark, DoPopupMenu, DoTrackPopupMenu, TakeFocus, GiveFocusBack, so they can be overridden&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;No hot-tracking if main window is not active&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Top level items not painted inactive if app looses activation while drop down menu is displayed&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added Windows XP flat menus support&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Drop-down menu doesn't close if clicked again (Windows XP only)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Menu item text and accelerator text too close with some settings&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Keyboard can still access clipped menu items&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added support for hiding keyboard navigation indicators until Alt key is pressed (system setting)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added AddIcon and ReplaceIcon variants for icon resources&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Image size calculated differently in different places&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add support for 32-bit (alpha channel) bitmaps for Windows XP&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed width calculation for default menu items&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImpl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;AddSimpleReBarBandCtrl sets toolbar extended styles without preserving old ones&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;PrepareChevronMenu should not create menu items for buttons with TBSTATE_HIDDEN&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;TPM_VERPOSANIMATION will not be defined in atlframe.h if atlctrlw.h is included first&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CreateSimpleToolBarCtrl - height might be too small if large font is used&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;PrepareChevronMenu uses TB_GETBUTTONTEXT, better use TB_GETBUTTONINFO&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Chevron menu doesn't close if clicked again (Windows XP only)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Should check local classes for superclassing&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add support for 32-bit (alpha channel) bitmaps for Windows XP&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Update UI:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;UISetText can clear other menu item flags&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CUpdateUI::UIUpdateState assigns value with |= instead of =&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added UISetDefault() and fix default state to work with menus&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CString:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;GetBuffer() and GetBufferSetLength() should return NULL in out-of-memory condition&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added missing methods: separate c-tors for LPCSTR and LPCWSTR, CollateNoCase, TrimRight and TrimLeft variants, Find variants, moved FormatV to public&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fix _IsValidString usage&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;FormatV incorrectly calculates buffer size (too big)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Usage of _ttoi causes problems with _ATL_MIN_CRT in VC7&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CDC:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;GetTabbedTextExtent() should return DWORD instead of BOOL&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add FillRect() that accept color index instead of a brush handle&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;DrawDragRect() leaks regions and a brush&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Improved DitherBlt() - added brushes as arguments for used colors&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added DrawShadowText() (uses LoadLibrary/GetProcAddress to run on older Windows)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CListViewCtrl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;SetItemState should use LVM_SETITEMSTATE&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;SetItemCount should return a BOOL&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CRichEditCtrl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added SetCharFormat() variant that accepts flags (for SCF_ALL)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CharFromPos() should pass a pointer to POINTL in lParam&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;GetTextRange() - should add Unicode variant for rich edit version &amp;gt;= 2&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added another FormatRange() that can accept a pointer to FORMATRANGE (needed for passing NULL to clear cache)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CHyperLink:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Allow overriding of Navigate and CalcLabelRect&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Doesn't handle right or center alignment&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CColorDialog:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Has static variables that were not initialized with _ATL_MIN_CRT&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed HookProc for ColorOK message - the message is not sent, but the hook proc is called directly&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;atlcrack.h:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;MSG_WM_TIMER crack macro should cast to TIMERPROC instead of TIMERPROC*&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add cracked handlers for all new messages in Common Controls 6&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;atlapp.h:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed problems with atlTraceUI with ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;#ifdefs for ATL7 were in the wrong place&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;atlctrls.h:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add support in control classes for all new messages in Common Controls 6&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CRecentDocumentList:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;AtlCompactPath corrupts memory if filename is longer than requested compact size&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;ReadFromRegistry incorrectly checks for error when reading from registry&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CSplitterWindow:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Incorrect calculation of middle position&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;3D border now drawn only if WS_EX_CLIENTEDGE is set&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Printing:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Uses DWORD instead of an int for a job ID&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPrintJob::CancelPrintJob shouldn't have a return value&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Misc:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CRegKey::QueryValue and SetValue are deprecated in ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added direct support for ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Replace ScreenToClient and ClientToScreen with MapWindowPoints to support RTL layout&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CFindFile::GetFilePath(LPTSTR...) returns path without the file name&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;MDI: Updating client edge in WM_WINDOWPOSCHANGING causes minimize/maximize/restore animation problems, use WM_WINDOWPOSCHANGED&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Custom Draw: Added CCustomDraw::OnSubItemPrePaint() overrideable method&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CFolderDialogImpl uses 'this' for BROWSEINFO.lParam instead of T*&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CImageList::Destroy shouldn't use Detach()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;ATL7 has its own AtlLoadString&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPropertySheet doesn't close when you press X button&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed problems for _U_STRINGorID and others that moved from atlbase.h to atlwin.h in ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add AtlMessageBox() that accepts either in-memory or resource strings&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CScrollImpl: fixed bug with scrolling child windows&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPropertyPageImpl: Add new notification handlers to enable direct return values (use #ifdef _WTL_NEW_PAGE_NOTIFY_HANDLERS to use them)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add AtlInitCommonControls() to simplify use&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;DDX: Fixed usage of the size of char arrays for DDX&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPageSetupDialog: changed usage of CWndProcThunk because of changes in ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fix confusing precedence in expressions&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Removed forward declarations because default values for template arguments shouldn't be specified in two places (we don't need them anyway)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Win64: Fix /Wp64 warnings from 32-bit VC7 compiler caused by SDK headers&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fix direct usage of English strings (they can be #defined to something else now)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;AtlGetCommCtrlVersion not defined if _ATL_DLL is in ATL 3.0 (and CmdBar is using it)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;AppWizard:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added manifest for Common Controls 6&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Loading Rich Edit DLL should use HMODULE&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Should not use atlimpl.cpp for ATL7&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added message handler prototypes to generated files&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;VERSION resource always has VALUE "OLESelfRegister" (now only for COM servers)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added option for putting implementation in CPP files&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;d-tor for the thread manager class in MSDI project executed after the heap is destroyed&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Wrong settings when changing to a dialog project and back (AppWizard 6.0 only)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Remove cut/copy/paste accelerators for form view and dialogs projects&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fix toolbar bitmaps so they are not transparent (problem with Windows XP flat menus only)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Used CMDICommandBarCtrl for MDI apps&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add symbols required for VC7 Class Wizard to recognize an ATL project&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Changed default styles for the rebar, so it does look OK without CmdBar and with manifest&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added setup programs for both AppWizards&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Remove ignored resource attributes: MOVEABLE, PURE, etc. (AppWizard 7.0 only)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add call to DefWindowProc to WinMain to resolve possible problems if MSLU is used&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Samples:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Updated toolbar bitmaps, added #ifdefs for ATL7, added manifest file for CommCtrl6, qualified _U_RECT with WTL namespace, updated use of deprecated CRegKey functions, added VC7 projects&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added Alpha sample&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;B&gt;&lt;FONT face=Arial&gt;&lt;A name="Changes Between WTL 3.1 And 3.0"&gt;&lt;/A&gt;11. Changes Between WTL 3.1 And 3.0&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;New classes:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CPaneContainer - implements a window that provides a title bar and a close button (like Explorer)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CDialogResize - an MI class that allows resizing of dialogs (or any windows with child windows/controls)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CAxPropertyPageImpl - implements a property page that can host ActiveX controls&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Fixes and enhancements:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CServerAppModule now clears m_hEventShutdown to avoid calling CloseHandle twice&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CString:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;operator += now leaves original string intact if it's out of memory&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed bad DWORD_PTR usage in TrimRight, TrimLeft, Replace, Remove&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Removed dependencies on CRT for projects that don't use it&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Insert - fixed string corruption in release builds&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added optional floating point formatting (for projects that use CRT)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CEdit and CRichEditCtrl: SetSelAll and SetSelNone had reversed implementation&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;atlres.h: Changed IDs so that they are compatible with MFC's afxres.h&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Command Bar:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added LoadMappedImages()&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Changed handling of left and right arrow keys so that they don't close context menus&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Add code to handle left/right arrow keys correctly on mirrored (RTL) systems&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Removed handler that eats parent window's WM_SETTINGCHANGE&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed bitmap resource leak in Draw3DCheckmark&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed incorrect usage of CharLower in OnMenuChar&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed wrong color for the disabled items in hi-contrast mode&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added code to gray menu items if main window is inactive&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed keyboard mnemonic handling for IE 4&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed hook problems with multiple cmdbars in the same thread&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added support for radio menu items&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added support for disabled top-level menu items (also added in CFrameWindowImpl::PrepareChevronMenu)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added keyboard shortcut (Alt+/) to invoke chevron menu&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added support to override menu item length in a derived class&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CBitmapButton:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Bypassed BUTTON DefWindowProc for hover style so that the button doesn't take focus&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added BMPBTN_AUTOFIRE extended style&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CDC:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added _WTL_FORWARD_DECLARE_CSTRING define to allow usage of methods that accept CString&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fixed errors in GetTextFace and GetMenuItemString&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added GetCharWidth32&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added DrawIconEx method&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CMenu:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Implement following missing methods:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetMenuDefaultItem&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetMenuInfo&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetMenuItemRect&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HiliteMenuItem&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IsMenu&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MenuItemFromPoint&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetMenuDefaultItem&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetMenuInfo&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;GetMenuString - fixed to include space for terminating NULL character in returning string&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;GDI and USER classes should destroy the GDI/USER objects in Attach if GDI/USER resource is managed&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImpl:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;OnToolTipText shouldn't save tool tip text if it's not for a menu&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;AddSimpleReBarBandCtrl now adds chevron style only for toolbars with buttons&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;AddSimpleReBarBand(Ctrl) - calc band ID if not specified&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CRecentDocumentList:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Fix - UpdateMenu deletes wrong menu item when the list is empty&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added code to allow restricting the number of characters displayed by MRU menu items&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Update UI:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added support for blocking accelerators for disabled items&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Improved search code assuming there are no duplicate entries (and added checks for duplicates)&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;CSplitterWindow:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CSplitterWindowImpl should derive from CSplitterImpl&amp;lt;T , t_bVertical&amp;gt; to allow overriding of methods&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added single pane mode and SetSinglePaneMode/GetSinglePaneMode&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added right/bottom aligned resize mode using extended styles SPLIT_RIGHTALIGNED/SPLIT_BOTTOMALIGNED&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;atlcrack.h: Added handlers for following new messages:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_APPCOMMAND&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_NCXBUTTONDOWN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_NCXBUTTONUP&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_NCXBUTTONDBLCLK&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_XBUTTONDOWN&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_XBUTTONUP&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; WM_XBUTTONDBLCLK&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Win64:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Dialog return value should use DWLP_MSGRESULT and SetWindowLongPtr&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CMenu::InsertMenu, AppendMenu, ModifyMenu should have UINT_PTR for the menu ID&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added appropriate type casts&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CFrameWindowImpl::m_szAutoName - changed the size to fit the pointer value size&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CListViewCtrl::SortItems should use LPARAM for user data instead of DWORD&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;Misc:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added optional mask argument to all methods for setting extended styles&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CMDIWindow::MDIRestore - fixed to send WM_MDIRESTORE instead of WM_MDIICONARRANGE&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CListViewCtrl: Added SortItemsEx method&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CToolBarCtrl::GetButtonInfo - fixed to return int instead of BOOL&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Added CToolBarCtrl::SetButtonSize and SetBitmapSize that accept cx and cy instead of SIZE&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Printing: Changed how GetNewDevModeForPage works (comments in code)&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CFileDialogImpl::_OnTypeChange incorrectly calls pT-&amp;gt;OnSelChange instead of pT-&amp;gt;OnTypeChange&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CMultiPaneStatusBarCtrl::GetPaneTipText - fixed to use index instead of and ID internally&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CWinDataExchange: Added references to arguments of DoDataExchange, so there are no level 4 warning even if the map is empty&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPropertySheetWindow: Added new, IE 5.0 specific methods&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CPropertyPageImpl: Added new, IE 5.0 specific methods&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;AppWizard:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in"&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;added calls to RemoveMessageFilter and RemoveIdleHandler in CMainFrame::OnDestroy for COM server projects&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;added scroll bars for HTML view&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;CAppServerModule now handles -embedding as well as -automation&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;corrected code in CMainFrame::OnShowToolBar to correctly identify the toolbar in a rebar&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;dialog based app code now derives from CUpdateUI as public&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in"&gt;&lt;FONT face=Arial size=2&gt;- end of readme.htm -&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/7610.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】开源(OpenSource) - IBM 提交 30 多个开源项目到 SourceForge.net</title><link>http://caviler.cndev.org/archive/2005/03/02/7543.aspx</link><pubDate>2005-03-02 09:39:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/03/02/7543.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/7543.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/03/02/7543.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/7543.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/7543.aspx</trackback:ping><description>&lt;P&gt;IBM today contributed more than 30 open source projects to SourceForge.net and launched new online skills-building programs to spur innovation, collaboration and development around emerging open source projects.&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Read more at:&amp;nbsp;&lt;BR&gt;&lt;A href="http://www.ostg.com/pdfs/IBM%20dev%20works%20release%20vfin.pdf" target=_new&gt;http://www.ostg.com/pdfs/IBM%20dev%20works%20release%20vfin.pdf&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;This project list includes:&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;AIX Toolbox - &lt;A href="http://sf.net/projects/aixtoolbox/" target=_new&gt;http://sf.net/projects/aixtoolbox/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Bluetooth ad-hoc network simulator - &lt;A href="http://sf.net/projects/bluehoc/" target=_new&gt;http://sf.net/projects/bluehoc/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Dynamic Probe Class Library - &lt;A href="http://sf.net/projects/dpcl/" target=_new&gt;http://sf.net/projects/dpcl/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Journaled File System - &lt;A href="http://sf.net/projects/jfs/" target=_new&gt;http://sf.net/projects/jfs/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;IBM Jikes Compiler for the Java Language - &lt;A href="http://sf.net/projects/jikes/" target=_new&gt;http://sf.net/projects/jikes/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Jikes RVM - &lt;A href="http://sf.net/projects/jikesrvm/" target=_new&gt;http://sf.net/projects/jikesrvm/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Java POS Config Loader - &lt;A href="http://sf.net/projects/jposloader/" target=_new&gt;http://sf.net/projects/jposloader/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Toolbox for Java/JTOpen - &lt;A href="http://sf.net/projects/jt400/" target=_new&gt;http://sf.net/projects/jt400/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;openCryptoki - &lt;A href="http://sf.net/projects/opencryptoki/" target=_new&gt;http://sf.net/projects/opencryptoki/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;LTC Linux Kernel Performance Project - &lt;A href="http://sf.net/projects/linuxperf/" target=_new&gt;http://sf.net/projects/linuxperf/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;LSID (Life Science Identifier) - &lt;A href="http://sf.net/projects/lsid/" target=_new&gt;http://sf.net/projects/lsid/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Memory Expansion Technology - &lt;A href="http://sf.net/projects/mxt/" target=_new&gt;http://sf.net/projects/mxt/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;OpenSSH on AIX - &lt;A href="http://sf.net/projects/openssh-aix/" target=_new&gt;http://sf.net/projects/openssh-aix/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Standards Based Linux Instrumentation - &lt;A href="http://sf.net/projects/sblim/" target=_new&gt;http://sf.net/projects/sblim/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;UDDI4J Java Class Library - &lt;A href="http://sf.net/projects/uddi4j/" target=_new&gt;http://sf.net/projects/uddi4j/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Web Services Description Language for Java -&amp;nbsp;&lt;BR&gt;&lt;A href="http://sf.net/projects/wsdl4j/" target=_new&gt;http://sf.net/projects/wsdl4j/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;ACP Modem (Mwave) Driver for Linux - &lt;A href="http://sf.net/projects/acpmodem/" target=_new&gt;http://sf.net/projects/acpmodem/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;International Components for Unicode - &lt;A href="http://sf.net/projects/icu/" target=_new&gt;http://sf.net/projects/icu/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;Dynamic Probes - &lt;A href="http://sf.net/projects/dprobes/" target=_new&gt;http://sf.net/projects/dprobes/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;TCL extension library for IBM Speech Manager Applications Programming&amp;nbsp;&lt;BR&gt;Interface (SMAPI) - &lt;A href="http://sf.net/projects/tclsmapi/" target=_new&gt;http://sf.net/projects/tclsmapi/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;TCK for JWSDL ( JWSDLTCK ) - &lt;A href="http://sf.net/projects/jwsdltck/" target=_new&gt;http://sf.net/projects/jwsdltck/&lt;/A&gt;&amp;nbsp;&lt;BR&gt;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/7543.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】开源(OpenSource) - 全文检索 - Lucene - CLucene</title><link>http://caviler.cndev.org/archive/2005/02/23/7246.aspx</link><pubDate>2005-02-23 14:58:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/02/23/7246.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/7246.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/02/23/7246.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/7246.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/7246.aspx</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 传统的全文检索都是基于数据库的，SQL Server、Oracle、mysql 都提供全文检索，但这些比较大，不适合单机或小应用程序(Mysql4.0以上可以作为整合开发)，Mysql也不支持中文。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Lucene是一个高性能、纯Java的全文检索引擎，而且免费、开源。Lucene几乎适合于任何需要全文检索的应用，尤其是跨平台的应用。Lucene的作者Doug Cutting是一个资深的全文检索专家，刚开始，Doug Cutting将Lucene发表在自己的主页上，2000年3月将其转移到Sourceforge，于2001年10捐献给Apache，作为Jakarta的一个子工程。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLucene是C++版的全文检索引擎,完全移植于Lucene，采用 STL 编写。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 编译了一下 C++ 版本的 Lucene - CLucene - a C++ search engine&amp;nbsp; &lt;A href="http://sourceforge.net/projects/clucene/"&gt;http://sourceforge.net/projects/clucene/&lt;/A&gt;&lt;BR&gt;在 MSVC6 下修改了一些编译选项后编译成功，测试了一下，好象不支持对中文的全文检索，估计是分词部分对中文不支持，但是据说 Lucene 的全文检索架构是很 NB 的，有空研究研究 Lucene 的全文检索架构然后再加上中文分词功能吧，不加中文分词功能可没办法用。&lt;BR&gt;&lt;BR&gt;BTW: 不知道 Java 版的 Lucene&amp;nbsp;稳定性怎样，但是&amp;nbsp;CLucene 的稳定性比较差，据说还有 n 多的内存泄露。&lt;img src ="http://caviler.cndev.org/aggbug/7246.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【新闻】Microsoft - 微软即将发布 IE 7.0;重点在安全! </title><link>http://caviler.cndev.org/archive/2005/02/18/7050.aspx</link><pubDate>2005-02-18 11:21:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/02/18/7050.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/7050.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/02/18/7050.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/7050.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/7050.aspx</trackback:ping><description>在2月15日于San Francisco召开的RSA 2005会议上，Microsoft主席兼首席架构工程师Bill Gates&lt;BR&gt;&lt;A href="http://www.microsoft.com/presspass/press/2005/feb05/02-15RSA05KeynotePR.asp" target=_blank&gt;&lt;FONT color=#0000ff size=2&gt;宣布了Internet Explorer 7.0&lt;/FONT&gt;&lt;/A&gt;，IE 7.0为Windows XP SP2增加了新的安全功能，并维持了用户所需要的扩展性和兼容性。IE 7.0将对恶意软件和间谍软件拥有更强大的抵御能力。IE 7.0的Beta版本将于今年夏天发布。&lt;BR&gt;&lt;BR&gt;同时MS表示去年8月发布的Windows XP SP2已经获得了巨大成功。Gates表示WinXP SP2在全球散发的拷贝已经超过了170M份，将近有一半的用户表示Windows XP SP2有更好的保护功能。而在最近调查的800家企业用户中，有77%的企业已经使用SP2有6个月之久。&lt;BR&gt;&lt;BR&gt;在会议上Gates重申了公司的未来工作重点-安全:&lt;BR&gt;&lt;BR&gt;"我们的首要目标是通过技术创新，指导和业界领袖地位的平衡，来提高所有用户的保密和安全-无论是个人消费者还是企业，无论大小。我们承诺将继续创新来解决当前和未来可能出现的种种安全威胁。"&lt;BR&gt;&lt;BR&gt;详细的报道&lt;A href="http://www.microsoft.com/presspass/press/2005/feb05/02-15RSA05KeynotePR.asp" target=_blank&gt;&lt;FONT color=#0000ff size=2&gt;在这里&lt;/FONT&gt;&lt;/A&gt;。&lt;img src ="http://caviler.cndev.org/aggbug/7050.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言 - 工具 - 代码格式化(Format)/风格化(Style) </title><link>http://caviler.cndev.org/archive/2005/02/01/6091.aspx</link><pubDate>2005-02-01 17:35:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/02/01/6091.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/6091.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/02/01/6091.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/6091.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/6091.aspx</trackback:ping><description>&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;看源代码的时候免不了要格式化一下代码，Java 当然是用 Eclipse 了，但是 C/C++ 就一直没有一个合适好用的工具来格式化(Format)/风格化(Style)代码，虽然Visual Studio 6.0 - Visual Studio 2005都提供了代码格式化功能，但是，实在是 --- 太简单了，根本不够用！！！&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;后来在网上搜索了一把，发现一个很不错的工具&lt;FONT color=#003399&gt;&lt;A href="http://sourceforge.net/projects/astyle/"&gt;&lt;STRONG&gt;Artistic Style &lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;，&lt;/STRONG&gt;&lt;FONT color=#000000&gt;功能很强大，支持 C/C++/C# 和 Java，而且开源，目前最后版本是 1.17.0。此版本需要用 CVS 下载并编译，其中还是有些小 Bug, 估计是作者没空改，呵呵。&lt;BR&gt;&lt;/P&gt;
&lt;H1 align=center&gt;Artistic Style 1.17.0-dev &lt;/H1&gt;
&lt;H2&gt;A &lt;A href="file:///E:/UPR/doc/license.html"&gt;Free&lt;/A&gt;, Fast and Small Automatic Formatter&lt;BR&gt;for &lt;EM&gt;C&lt;/EM&gt;, &lt;EM&gt;C++&lt;/EM&gt;, &lt;EM&gt;C#&lt;/EM&gt;, and &lt;EM&gt;Java&lt;/EM&gt; Source Codes &lt;/H2&gt;
&lt;P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;Project Overview &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://astyle.sourceforge.net/"&gt;http://astyle.sourceforge.net&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Sources, Binaries, Bug Tracker, Mailinglists &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.sourceforge.net/projects/astyle/"&gt;http://www.sourceforge.net/projects/astyle/&lt;/A&gt; &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Original Author &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.bigfoot.com/~davidsont/"&gt;Tal Davidson&lt;/A&gt;, Israel (&lt;A href="mailto:tald@users.sourceforge.net"&gt;tald@users.sourceforge.net&lt;/A&gt;) &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TH&gt;Maintainer &lt;/TH&gt;
&lt;TD&gt;&lt;A href="http://www.rootdirectory.de/solar/"&gt;Martin Baute&lt;/A&gt;, Germany (&lt;A href="mailto:devsolar@users.sourceforge.net"&gt;devsolar@sourceforge.net&lt;/A&gt;) &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Artistic Style is a &lt;STRONG&gt;reindenter and reformatter&lt;/STRONG&gt; for &lt;STRONG&gt;C, C++, C#, and Java&lt;/STRONG&gt; source code. &lt;/P&gt;
&lt;P&gt;When indenting source code, we as programmers have a tendency to use both &lt;EM&gt;spaces&lt;/EM&gt; and &lt;EM&gt;tab&lt;/EM&gt; characters to create the wanted indentation. Moreover, some editors by default insert spaces instead of tabs when pressing the tab key, and other editors (Emacs for example) have the ability to "pretty up" lines by automatically setting up the white space before the code on the line, possibly inserting spaces in a code that up to now used only tabs for indentation. &lt;/P&gt;
&lt;P&gt;Since the &lt;STRONG&gt;number&lt;/STRONG&gt; of space characters showed on screen for each tab character in the source code changes between editors (unless the user sets up the number to his liking...), &lt;STRONG&gt;one of the standard problems programmers are facing when moving from one editor to another&lt;/STRONG&gt; is that code containing both spaces and tabs that was up to now perfectly indented, suddently becomes a mess to look at when changing to another editor. Even if you as a programmer take care to &lt;STRONG&gt;only&lt;/STRONG&gt; use spaces or tabs, looking at other peoples source code can still be problematic. &lt;/P&gt;
&lt;P&gt;To address this problem, Artistic Style was created - a filter written in &lt;STRONG&gt;C++&lt;/STRONG&gt;, that automatically reindents &amp;amp; reformats C / C++ / C# / Java source files. It can be used from a &lt;STRONG&gt;command line&lt;/STRONG&gt;, or it can be &lt;STRONG&gt;incorporated in another C++ program&lt;/STRONG&gt;. &lt;/P&gt;
&lt;P&gt;The AStyle executable is distributed under the terms of the &lt;A href="http://www.gnu.org/licenses/gpl.html"&gt;GNU General Public License&lt;/A&gt; (GPL); you may incorporate the core classes (ASBeautifier and ASFormatter) in other projects subject to the &lt;A href="http://www.gnu.org/licenses/lgpl.html"&gt;GNU Lesser General Public License&lt;/A&gt; (LGPL). You may want to read the &lt;A href="http://sourceforge.net/docman/display_doc.php?docid=22446&amp;amp;group_id=2319"&gt;Release Notes&lt;/A&gt;. &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src ="http://caviler.cndev.org/aggbug/6091.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】开源(OpenSource) - 缺陷管理（BugTracker.NET）试用 </title><link>http://caviler.cndev.org/archive/2005/01/31/6011.aspx</link><pubDate>2005-01-31 10:34:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/31/6011.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/6011.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/31/6011.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/6011.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/6011.aspx</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;安装了开源的缺陷管理系统&lt;A href="http://sourceforge.net/project/showfiles.php?group_id=66812"&gt;BugTracker.NET&lt;/A&gt;。&lt;A href="http://sourceforge.net/project/showfiles.php?group_id=66812"&gt;BugTracker.NET&lt;/A&gt;&amp;nbsp;是用ASP.NET&amp;nbsp;和C#.写的在ASP.Net环境下运行的基于Web的缺陷管理系统，作为缺陷管理系统来说，功能比较弱，只有简单的缺陷级别和优先级，没有缺陷类型、缺陷起源、缺陷来源，缺陷类型等字段，虽然它是可定制的，但是可定制性不是很强，当然它是免费的，作为个人/小项目开发也勉强可用。&lt;BR&gt;&lt;BR&gt;BTW：&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;看了一下代码，代码质量不是很高，感觉作者写程序时比较随意，没有事先规划过，总的来说比较混乱，建议不用拿来作为参考了：P&lt;BR&gt;&lt;BR&gt;&lt;IMG alt="" hspace=0 src="http://blog.csdn.net/images/blog_csdn_net/caviler/78880/o_BugTracker.JPG" align=baseline border=0&gt;&lt;img src ="http://caviler.cndev.org/aggbug/6011.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【编程】编程语言(C++) - 工具 - 如何重置 Visual Assist X 试用时间</title><link>http://caviler.cndev.org/archive/2005/01/27/5908.aspx</link><pubDate>2005-01-27 11:39:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/27/5908.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5908.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/27/5908.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5908.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5908.aspx</trackback:ping><description>Visual Assist X 是一个非常好的 Visual Studio 6.0 IDE 辅助工具, 但我一直没有找到注册码，当 Visual Assist X 过期后，有一种方法可以重置 Visual Assist X 的过期时间，供参考，步骤如下：&lt;BR&gt;1、关闭 Visual Studio 6.0。&lt;BR&gt;2、删除注册表中的 HKLM\Software\Licenses 键值。&lt;BR&gt;3、删除 %TEMP% 中的 .tmp 文件。&lt;BR&gt;4、在注册表中搜索关键字 "nLxxQ" ，会找到一个类似于下面所示的 COM 注册项，删除整个该项。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HKCU\CLSID\{BC29421E-12B6-4630-A281-E18D215BC63E}&lt;BR&gt;&lt;BR&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5908.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【其他】重装操作系统 - Windows 2003 + SharePoint 2003 + Visual Studio 6.0 + Visual Studio 2005 + Avalon</title><link>http://caviler.cndev.org/archive/2005/01/26/5895.aspx</link><pubDate>2005-01-26 17:53:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/26/5895.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5895.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/26/5895.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5895.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5895.aspx</trackback:ping><description>&lt;P&gt;由于硬盘物理损坏，索性重新装了一下操作系统和新的开发环境&lt;/P&gt;
&lt;P&gt;- Windows 2003&amp;nbsp;&lt;/P&gt;
&lt;P&gt;-&amp;nbsp;SharePoint 2003&lt;/P&gt;
&lt;P&gt;-&amp;nbsp;Visual Studio 6.0&lt;/P&gt;
&lt;P&gt;- Visual Studio 2005&lt;/P&gt;
&lt;P&gt;- Avalon&lt;/P&gt;
&lt;P&gt;其中主要是 Visual Studio 2005,另外新版本的 CVSNT 2.0.58d 好象配置上有些改变，主要是用户验证上，好象必须要一个 Windows 帐号和 CVSNT 帐号对应，否则就会出现&amp;#8220;no such user&amp;#8221;的错误，另外，cvs chacl 命令也和以前有点不同，而且，cvs chacl 还存在 bug&amp;nbsp; ???, 会在服务器的&amp;nbsp;CVSRoot/CVS/ 下产生一个格式错误的 fileattr.xml&amp;nbsp; 文件，导致不能 Check In ,Check&amp;nbsp; out, 在给搞了半天手工修改 fileattr.xml&amp;nbsp; 文件才搞好。现在一切正常了，:D&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5895.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【链接】Microsoft - Visual Studio 2005</title><link>http://caviler.cndev.org/archive/2005/01/25/5868.aspx</link><pubDate>2005-01-25 17:01:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/25/5868.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5868.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/25/5868.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5868.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5868.aspx</trackback:ping><description>&lt;P&gt;C++/CLI的主设计师之一Stan Lippman的blog &lt;A href="http://blogs.msdn.com/slippman"&gt;http://blogs.msdn.com/slippman&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A name="Page TOC"&gt;Available Prerelease Products:&lt;/A&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI class=gray&gt;&lt;A style="DISPLAY: inline-block; FONT-WEIGHT: bold" href="http://lab.msdn.microsoft.com/vs2005/get/default.aspx#vsts"&gt;Visual Studio 2005 Team System&lt;/A&gt; 
&lt;P&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;B&gt;Stable:&lt;/B&gt; None. &lt;B&gt;Latest:&lt;/B&gt; December 2004 Community Technology Preview. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;LI class=gray&gt;&lt;A style="DISPLAY: inline-block; FONT-WEIGHT: bold" href="http://lab.msdn.microsoft.com/vs2005/get/default.aspx#pro"&gt;Visual Studio 2005 Professional Edition&lt;/A&gt; 
&lt;P&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;B&gt;Stable:&lt;/B&gt; June 2004 - Beta 1. &lt;B&gt;Latest:&lt;/B&gt; December 2004 Community Technology Preview. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;LI class=gray&gt;&lt;A style="DISPLAY: inline-block; FONT-WEIGHT: bold" href="http://lab.msdn.microsoft.com/vs2005/get/default.aspx#stnd"&gt;Visual Studio 2005 Standard Edition&lt;/A&gt; 
&lt;P&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;B&gt;Stable:&lt;/B&gt; None. &lt;B&gt;Latest:&lt;/B&gt; November 2004 Community Technology Preview. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;LI class=gray&gt;&lt;A style="DISPLAY: inline-block; FONT-WEIGHT: bold" href="http://lab.msdn.microsoft.com/vs2005/get/default.aspx#express"&gt;Visual Studio 2005 Express Editions &lt;/A&gt;
&lt;P&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;B&gt;Stable:&lt;/B&gt; June 2004 - Beta 1 . &lt;B&gt;Latest:&lt;/B&gt; October 2004 Community Technical Preview. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;LI class=gray&gt;&lt;A style="DISPLAY: inline-block; FONT-WEIGHT: bold" href="http://lab.msdn.microsoft.com/vs2005/get/default.aspx#vss"&gt;Visual SourceSafe 2005&lt;/A&gt; 
&lt;P&gt;&lt;SPAN style="COLOR: #000000"&gt;&lt;B&gt;Stable:&lt;/B&gt; June 2004 - Beta 1 June 2004. &lt;B&gt;Latest:&lt;/B&gt; November 2004 Community Technology Preview. &lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5868.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【其他】Microsoft - 订阅 Microsoft 下载通知</title><link>http://caviler.cndev.org/archive/2005/01/21/5760.aspx</link><pubDate>2005-01-21 19:17:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/21/5760.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5760.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/21/5760.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5760.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5760.aspx</trackback:ping><description>&lt;FONT face=Tahoma&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 订阅 Microsoft 下载通知后，Microsoft 每周都会将新的下载链接发到您的邮箱中，可以指定您只对那些类别的下载内容有兴趣。&lt;/FONT&gt;
&lt;P dir=ltr&gt;&lt;FONT face=Tahoma&gt;通知内容有&lt;BR&gt;&amp;nbsp;&amp;nbsp;latest updates&lt;BR&gt;&amp;nbsp;&amp;nbsp;additions&lt;BR&gt;&amp;nbsp;&amp;nbsp;trial software&lt;BR&gt;&amp;nbsp;&amp;nbsp;service packs&lt;BR&gt;&amp;nbsp;&amp;nbsp;more&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr&gt;&lt;FONT face=Tahoma&gt;下载通知邮件订阅地址：&lt;/FONT&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkId=39737"&gt;&lt;FONT face=Tahoma color=#6666cc&gt;http://go.microsoft.com/fwlink/?LinkId=39737&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5760.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【其他】Microsoft - 安装 SharePoint 2003</title><link>http://caviler.cndev.org/archive/2005/01/21/5758.aspx</link><pubDate>2005-01-21 18:31:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/21/5758.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5758.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/21/5758.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5758.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5758.aspx</trackback:ping><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;前几天硬盘坏了，好在数据都抢救出来了，没办法，只好重装操作系统，干脆装个 Windows 2003 吧，在装个 .Net 开发环境，现在是应该开始用 .Net 做开发的时候了，因为 .Net 现在才开始稳定和成熟起来，还要装 SharePoint 2003，据说可以在同一台机器上面成功地安装域控制器、SQL2K，SharePoint 2003，但是有个技巧：&lt;A href="http://support.microsoft.com/?id=831704" target=_blank&gt;&lt;FONT color=#002c99&gt;KB831704&lt;/FONT&gt;&lt;/A&gt;。&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;关于 SharePoint 2003 的安装：&lt;BR&gt;郑海山：&lt;A href="http://dog.xmu.edu.cn/modules.php?op=modload&amp;amp;name=News&amp;amp;file=article&amp;amp;sid=149&amp;amp;mode=thread&amp;amp;order=0&amp;amp;thold=0"&gt;SharePoint 2003 安装指北&lt;BR&gt;&lt;/A&gt;郑海山：&lt;A href="http://dog.xmu.edu.cn/modules.php?op=modload&amp;amp;name=News&amp;amp;file=article&amp;amp;sid=155&amp;amp;mode=thread&amp;amp;order=0&amp;amp;thold=0"&gt;SharePoint 2003 安装续&lt;/A&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5758.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>一无所知</dc:creator><title>【其他】Microsoft - Windows - 补丁更新 - 国内的 Windows Update 自动更新服务</title><link>http://caviler.cndev.org/archive/2005/01/21/5757.aspx</link><pubDate>2005-01-21 18:18:00Z</pubDate><guid>http://caviler.cndev.org/archive/2005/01/21/5757.aspx</guid><wfw:comment>http://caviler.cndev.org/comments/5757.aspx</wfw:comment><comments>http://caviler.cndev.org/archive/2005/01/21/5757.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://caviler.cndev.org/comments/commentRss/5757.aspx</wfw:commentRss><trackback:ping>http://caviler.cndev.org/services/trackbacks/5757.aspx</trackback:ping><description>&lt;TABLE width="90%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对于不能上国外网站或者上国外网站很慢的用户来说，使用一个国内的二级更新服务器是一个不错的选择，厦门大学网络中心就提供了Windows Update自动更新服务。&lt;BR&gt;&lt;BR&gt;&lt;A href="http://windowsupdate.xmu.edu.cn/"&gt;http://windowsupdate.xmu.edu.cn/&lt;/A&gt;&lt;BR&gt;&lt;BR&gt;FAQ:&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;1.什么是WindowsUpdate自动更新服务?&lt;/STRONG&gt;&lt;BR&gt;Windows 自动更新是 Windows 的一项功能，当适用于您的计算机的重要更新发布时，它会及时提醒您下载和安装。 使用自动更新可以在第一时间更新您的操作系统，修复系统漏洞，保护您的计算机安全。&lt;BR&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;2.为什么要使用WindowsUpdate自动更新服务?&lt;/STRONG&gt;&lt;BR&gt;由于Windows会不定期的发布补丁,这些补丁可能对您的系统非常重要,为了方便用户,自动更新将自动完成下载和安装这些补丁.&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;3.为什么要使用厦门大学网络中心提供的自动更新服务?&lt;/STRONG&gt;&lt;BR&gt;由于微软(Microsoft)的网站是在国外,校内很多用户无法直接连到,就算可以直接 连到,但速度也很慢. 使用网络中心提供的自动更新,速度很快,而且也可以节省国际通信费用. &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;4.自动更新服务支持哪些操作系统?&lt;/STRONG&gt;&lt;BR&gt;本站支持Windows 2000,Windows XP,Windows 2003, 包括简体中文版和英文版. &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;5.如何使用网络中心提供的WindowsUpdate自动更新服务?&lt;/STRONG&gt;&lt;BR&gt;a. 如果您使用的系统是Windwos 2000 SP3 或者更高, Windows XP SP1或者更高版本, Windows 2003, 您只需要直接下载注册表脚本,下载完双击执行即可.&lt;BR&gt;b.如果您使用的系统是非上面所罗列的,你需要先下载并安装自动更新客户端,再按照 上面的方法下载注册表脚本,并安装. &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;6.我如何知道是否已经安装好了WindowsUpdate自动更新服务?&lt;/STRONG&gt;&lt;BR&gt;安装完成之后,您打开控制面板,双击"自动更新"图标,如果你所看到 上面的单选框都是灰色的,就表明已经安装完成了. &lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;STRONG&gt;7.为什么我安装完成之后,没有看到任何变化?&lt;/STRONG&gt;&lt;BR&gt;WindowUpdate自动更新客户端每隔一定时间去检查是否有更新补丁,因此您可能需要等30分钟后才会看到更新通知.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src ="http://caviler.cndev.org/aggbug/5757.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>