<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx</link><description>For making dialog controls match a menu, as if anybody even does this any more.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Why is the animation common control limited to RLE8-compressed animations? | Coded Style</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#9554823</link><pubDate>Sat, 18 Apr 2009 06:37:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9554823</guid><dc:creator>Why is the animation common control limited to RLE8-compressed animations? | Coded Style</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.codedstyle.com/why-is-the-animation-common-control-limited-to-rle8-compressed-animations-15/"&gt;http://www.codedstyle.com/why-is-the-animation-common-control-limited-to-rle8-compressed-animations-15/&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9554823" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3826879</link><pubDate>Thu, 12 Jul 2007 10:28:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3826879</guid><dc:creator>Int19</dc:creator><description>&lt;p&gt;It is not a &amp;quot;lose-lose discussion&amp;quot;, if you want to explain this...&lt;/p&gt;
&lt;p&gt;Believe me, I would be glad to read your opinion on this matter and so help me correct my misunderstanding about this DLL (there is much hype on the net about it), as your book helped correct some of my mistakes on Windows API programming (by the way it’s a nice book :-)).&lt;/p&gt;
&lt;p&gt;But since you do not feel this way, “End of Discussion” from me also, I am sorry for pointing about “DUSER.DLL” in the first place, I will not trouble you again.&lt;/p&gt;
&lt;p&gt;Bye.. :-(&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3826879" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3825700</link><pubDate>Thu, 12 Jul 2007 08:47:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3825700</guid><dc:creator>Int19</dc:creator><description>
&lt;p&gt;“Misinformed FUD?”&lt;/p&gt;


&lt;p&gt;Well just take a peak on the loaded DLLs of “MS-Windows XP
Add/Remove Programs” applet on the Control Panel, if you do so (with
the help of Process Explorer for example) you will see that the
software (which starts with the help of &amp;nbsp;the well known
“rundll.exe”) uses the “duser.dll”. &lt;/p&gt;


&lt;p&gt;Now if you check “duser.dll” exports you'll see that it's a much
useful and quiet undocumented system oriented DLL (titled in it’s
version info as “Windows DirectUser Engine” wow!!) that only MS
software can use and benefit from ;-)&lt;/p&gt;


&lt;p&gt;Now, if Raymond can explain us this, then ok… &lt;/p&gt;

&lt;div class="post"&gt;[&lt;i&gt;This is a lose-lose discussion for me.
People just keep making false statements and my choices are either to
let them stand and make people think they're right, or correct them,
and that just leads to a new false statement. So I'll try to quit the
game: Your statement is incorrect but I will not correct it. End of
discussion. -Raymond&lt;/i&gt;]&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3825700" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3810219</link><pubDate>Wed, 11 Jul 2007 09:06:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3810219</guid><dc:creator>Wilhelm Svenselius</dc:creator><description>&lt;p&gt;Would the trolls go back to Slashdot please? The whole &amp;quot;undocumented dynamic libraries which only [Microsoft's] own programs can use&amp;quot; thing is misinformed FUD to begin with.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3810219" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3809967</link><pubDate>Wed, 11 Jul 2007 08:33:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3809967</guid><dc:creator>PatriotB</dc:creator><description>&lt;p&gt;Re: the 64-bit issue with this function... couldn't it have been changed to operate on an array of INT_PTRs? &amp;nbsp;It would have no effect when compiling for x86, and would enable the function to work correctly in 64-bit. &amp;nbsp;I imagine the time to convert INT to INT_PTR would have been trivial.&lt;/p&gt;
&lt;p&gt;Re: DirectUI... I've mentioned it before on this blog. &amp;nbsp;There's two sides to the coin: 1: Someone at Microsoft has developed some technology, and since it is property of Microsoft, any product in Microsoft should have the right to incorporate that source code. &amp;nbsp;2: Microsoft doesn't want to commit to a publicly-available (and supported forever) implementation of the technology, so to sidestep around antitrust requirements, it doesn't implement it as an exposed API but simply duplicates all the code in each relevant product.&lt;/p&gt;
&lt;p&gt;My personal view? I'd love to see DirectUI documented, because it seems like cool technology (for those who don't want to use WPF for the same reasons that Windows itself doesn't want to use WPF). &amp;nbsp;But I think they have the right to keep it private; as Raymond said it doesn't use any undocumented Windows APIs so in theory any ISV could have, with the right skills and knowledge, created the same thing.&lt;/p&gt;
&lt;p&gt;That said, just because you *can* keep it private, doesn't mean you should. &amp;nbsp;And that leads to...&lt;/p&gt;
&lt;p&gt;Re: APIs and helper functions/controls. &amp;nbsp;I'm one who loves APIs because they allow me to 1) minimize the cost of developing my own apps, and 2) be most consistent with the OS.&lt;/p&gt;
&lt;p&gt;It's a balance between ISV usefulness, platform longevity, and affect on cost (for both the ISV and Microsoft).&lt;/p&gt;
&lt;p&gt;With XP, I was definitely seeing a trend about reducing helper functions and exposed controls (especially compared to the ComCtl32 updates brought by IE3/4). &amp;nbsp;However with Vista, I was pleasantly surprised by what I perceived as an excellent set of new Shell APIs (not quite as much with comctl32 since there isn't much new there). &amp;nbsp;There are hundreds of new shell/property system functions/interfaces, ranging from large pieces like ExplorerBrowser and NamespaceTreeControl, to simple helper functions like SHCreateItemXXX. &amp;nbsp;There's also some good SDK samples. &amp;nbsp;(However, the SDK documentation itself is still quite sparse.)&lt;/p&gt;
&lt;p&gt;That said there are still pieces missing--we waited for years for SHCreateShellFolderView/Ex (and company) to be officially documented. &amp;nbsp;It took the DOJ to bring it about, but it finally happened in 2002. &amp;nbsp;Now there's deprecation warnings on nearly all of these &amp;quot;settlement&amp;quot; APIs, which disappoints, but doesn't surprise, me.&lt;/p&gt;
&lt;p&gt;Anyways, overall it's a balance to find which APIs are the correct ones to expose. &amp;nbsp;Generally Microsoft does a pretty good job in determining this balance.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3809967" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3809910</link><pubDate>Wed, 11 Jul 2007 08:24:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3809910</guid><dc:creator>DX</dc:creator><description>&lt;p&gt;His comparison is valid Raymond, You known it but I do not expect you to accept it.. ;-)&lt;/p&gt;
&lt;p&gt;Cheers Mate!&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3809910" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3808559</link><pubDate>Wed, 11 Jul 2007 06:24:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3808559</guid><dc:creator>Igor</dc:creator><description>
&lt;p&gt;"Do people complain to Lotus..."&lt;/p&gt;

&lt;p&gt;Raymond, Lotus doesn't make an operating system with undocumented dynamic libraries which only their own programs can use, so your comparison is not valid.&lt;/p&gt;
&lt;div class="post"&gt;[&lt;i&gt;Neither is Windows, so your comparison is not valid either. -Raymond&lt;/i&gt;]&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3808559" width="1" height="1"&gt;</description></item><item><title>re: The forgotten common controls: The ShowHideMenuCtl function</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3807580</link><pubDate>Wed, 11 Jul 2007 04:55:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3807580</guid><dc:creator>Marvin</dc:creator><description>&lt;p&gt;&amp;quot;The problem is some stupid people went crying to the DOJ...&amp;quot;&lt;/p&gt;
&lt;p&gt;Not stupid people but rather people coming from a background of open source, operating system ending in ux and programming language ending in va. For them backward compatibility and not breaking existing clients are (or at least used to be) not a big priority as evidenced by their own products. Coming from such background any attempt on the part of MS to not document something is viewed as simply malicious.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3807580" width="1" height="1"&gt;</description></item><item><title>menu handles</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3803765</link><pubDate>Wed, 11 Jul 2007 00:40:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3803765</guid><dc:creator>Bikedude</dc:creator><description>&lt;p&gt;Oh, I forgot to add (I'm under a contract): Buy m0re v1agr4!&lt;/p&gt;
&lt;p&gt;-- &lt;/p&gt;
&lt;p&gt;Rune&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3803765" width="1" height="1"&gt;</description></item><item><title>menu handles</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2007/07/10/3799014.aspx#3803618</link><pubDate>Wed, 11 Jul 2007 00:22:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3803618</guid><dc:creator>Bikedude</dc:creator><description>&lt;p&gt;I remember reading that window handles just use 16-bit under 32-bit Windows in order to better support Win16 apps. 64-bit Windows dropped support for Win16 apps, so now window handles use 32-bit in order to support Win32 apps better. (a huge overkill given a window manager that starts sweating bullets at 20000 windows)&lt;/p&gt;
&lt;p&gt;Which brings me to my question: Is a 64-bit HMENU value really 64-bit? (Given 64-bit Windows -- I understand Win128 will probably change things)&lt;/p&gt;
&lt;p&gt;-- &lt;/p&gt;
&lt;p&gt;Rune&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3803618" width="1" height="1"&gt;</description></item></channel></rss>