<?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>Saurabh's Blog</title><link>http://blogs.msdn.com/saurabhjain/default.aspx</link><description>&lt;a href="http://blogs.msdn.com/vshelpcom"&gt;Help Integration&lt;/a&gt; | Windows Forms | Managed VSIP Integration | Random Rants</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Saving searches in VS CTP release</title><link>http://blogs.msdn.com/saurabhjain/archive/2004/06/03/147419.aspx</link><pubDate>Thu, 03 Jun 2004 08:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:147419</guid><dc:creator>saurabhjain</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/147419.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=147419</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;If you have played with Help in CTP, you would have noticed that there Help Favorites has a node called &amp;#8220;Searches&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&amp;#8221;. However, it is not discoverable how to store a search. At least, Kevin was &lt;A href="http://weblogs.asp.net/kdente/archive/2004/06/02/147189.aspx"&gt;not able to find it&lt;/A&gt;.You can save a search by &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;1. Performing a search.&lt;BR&gt;2. With Search window focused, click on "Add to Favorites&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&amp;#8221;&lt;/SPAN&gt; button on the Web/Help toolbar. This is left of web url textbox. This will add your search to the Favorites.&lt;FONT face=Arial size=2&gt;&lt;BR&gt;3. You can now click on the stored search to re-execute a search.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;We know that it is not discoverable and we will fix it soon by adding a &amp;#8220;Save Search&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&amp;#8221;&lt;/SPAN&gt; button (not in the next CTP though). This button will exist next to &amp;#8220;Restore Defaults&amp;#8221; and &amp;#8220;Help Options&amp;#8221; commands.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=147419" width="1" height="1"&gt;</description></item><item><title>Keyboard Shortcut Consistency</title><link>http://blogs.msdn.com/saurabhjain/archive/2004/06/01/keyboard-shortcut-consistency.aspx</link><pubDate>Wed, 02 Jun 2004 06:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:146269</guid><dc:creator>saurabhjain</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/146269.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=146269</wfw:commentRss><description>&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2 face=Arial&gt;One fine day, I get a call to help in investigating failures in few of the automated tests. After some investigation, we figured that failures were happening because&amp;nbsp;somebody decided to assign “F2” as a keyboard shortcut to build. What is wrong with that? Doesn't it simplify the keyboard shortcut compared to&amp;nbsp;VS 2003's Cntrl+Shift+B?&amp;nbsp;Well,&amp;nbsp;it turns out that&amp;nbsp;F2 is typically used for rename&amp;nbsp;and test was relying on this fact. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2 face=Arial&gt;However, tests are not the only ones who rely on facts like this. Most users also assume/wish/want that keyboard shortcuts are consistent across applications (and with the operating system). It reduces the learning curve and makes them more productive. Consider the amount of chaos if Word decided to rebind “Cntl+C” to something other than “Copy”. One should know about “standard” keyboard shortcut before picking one for commands in their application. If a command exposes standard functionality (like copy); it should have a standard shortcut (like Cntl+C). This makes your application consistent with the OS. You can read about various WinXP keyboard shortcuts at &lt;A href="http://www.microsoft.com/enable/products/KeyboardSearch_XP.aspx"&gt;http://www.microsoft.com/enable/products/KeyboardSearch_XP.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2 face=Arial&gt;. You can read about keyboard shortcuts of various applications at &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/enable/products/keyboard.aspx" mce_href="http://www.microsoft.com/enable/products/keyboard.aspx"&gt;&lt;U&gt;&lt;FONT size=2 face=Arial&gt;Keyboard Assistance&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT size=2 face=Arial&gt; site (VS is not on that list :-(). &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/oldnewthing/" mce_href="http://blogs.msdn.com/oldnewthing/"&gt;&lt;U&gt;&lt;FONT size=2 face=Arial&gt;Raymond&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT size=2 face=Arial&gt; has also posted a tip&lt;/FONT&gt;&lt;FONT size=2 face=Arial&gt;&amp;nbsp;on why&amp;nbsp;one &lt;A href="http://blogs.msdn.com/oldnewthing/archive/2004/03/29/101121.aspx" mce_href="http://blogs.msdn.com/oldnewthing/archive/2004/03/29/101121.aspx"&gt;should not use “Cntl+Alt” as modifiers&lt;/A&gt;. In addition, one should avoid creating of accelerators (or shortcuts) that override system accelerators. It is mentioned in “Accelerator Keystroke Assignment” section in &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/KeyboardAccelerators/AboutKeyboardAccelerators.asp" mce_href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/KeyboardAccelerators/AboutKeyboardAccelerators.asp"&gt;&lt;U&gt;&lt;FONT size=2 face=Arial&gt;About Keyboard Accelerators&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT size=2 face=Arial&gt;.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT size=2 face=Arial&gt;I know VS is inconsistent. We have too many shortcuts exposed and we break many rules. Help is really notorious. However, I don’t know if we will fix each one of these instances. There are many legacy issues around it. For e.g., consider the scenario if we fix VS so that F10 activates the menu (essentially what “Alt” does). People will start complaining because we changed keystroke of one of the most used command of VS, the “step” debugger command.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=3 face="Times New Roman"&gt;&lt;SPAN&gt;&lt;FONT size=2 face=Arial&gt;Hence my advice is&amp;nbsp;more applicable to new application instead of legacy ones as you would be infuriating users by changing the shortcuts without enough justification.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=146269" width="1" height="1"&gt;</description></item><item><title>RadioButton doesn't resize when you increase the Font size</title><link>http://blogs.msdn.com/saurabhjain/archive/2004/05/24/140865.aspx</link><pubDate>Tue, 25 May 2004 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:140865</guid><dc:creator>saurabhjain</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/140865.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=140865</wfw:commentRss><description>&lt;P&gt;&lt;SPAN&gt;&lt;A href="http://blogs.msdn.com/saraford"&gt;&lt;U&gt;&lt;FONT face=Arial size=2&gt;Sara&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; forwarded me a customer question asking why radio button doesn&amp;#8217;t resize when one changes the font on a Winform&amp;#8217;s RadioButton control. Well, the simple answer is that is&amp;nbsp;how underlying&amp;nbsp;Windows control behaves and Winform&amp;#8217;s control is just a wrapper on top of it. The next question is that I still want to have big radiobuttons. Well, &amp;#8220;UI consistency cop&amp;#8221; will say that even if you are able to change all the radiobuttons in your application&amp;nbsp;to be big in size, you would still be inconsistent as your platform has small radiobuttons. However, if you still insist then you would have to&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;Inherit from RadioButton&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;You might have to set DoubleBuffer, AllPaintingInWmPaint and UserPaint &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolstylesclasstopic.asp"&gt;&lt;U&gt;&lt;FONT face=Arial size=2&gt;ControlStyles&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; to true to reduce the flicker.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;Override OnPaint and Paint the radio button and text with bigger size. &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolpaintclassdrawradiobuttontopic.asp"&gt;&lt;U&gt;&lt;FONT face=Arial size=2&gt;ControlPaint.DrawRadioButton&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; should help you in drawing this. However you won&amp;#8217;t get any help in drawing it themed until VS 2005 comes along. &lt;/FONT&gt;&lt;A href="http://www.windowsforms.net/WhidbeyFeatures/default.aspx?PageID=2&amp;amp;ItemID=6&amp;amp;Cat=Runtime&amp;amp;tabindex=4"&gt;&lt;U&gt;&lt;FONT face=Arial size=2&gt;VS 2005 has renderers&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; to help you with themed drawing. Until then, you are stuck with pinvoking &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/userex/refentry.asp"&gt;&lt;U&gt;&lt;FONT face=Arial size=2&gt;UxTheme API&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;I haven&amp;#8217;t tried creating this control but I would think that you should able to get away without doing any custom hittesting (however, no guarantees; you are on your own).&lt;/FONT&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;These overridden, oversized controls (RadioButton, CheckBox etc.) are not hard to create. They do however create inconsistency and one should avoid going down that path.&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=140865" width="1" height="1"&gt;</description></item><item><title>Issues around "Hide underline letters ..." checkbox</title><link>http://blogs.msdn.com/saurabhjain/archive/2004/04/18/115741.aspx</link><pubDate>Mon, 19 Apr 2004 04:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:115741</guid><dc:creator>saurabhjain</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/115741.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=115741</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;A href="http://blogs.msdn.com/saraford"&gt;&lt;FONT face=Arial size=2&gt;Sara&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt; talks about&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/saraford/archive/2004/04/16/114935.aspx"&gt;&lt;FONT face=Arial size=2&gt;effects&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;FONT face=Arial size=2&gt;of &amp;#8220;Display Properties -&amp;gt; Appearance -&amp;gt; Effects -&amp;gt; Hide Underline letters ..&amp;#8221;&amp;nbsp;. The check box controls two behaviors: -&amp;nbsp;first the underlining of the mnemonics (keyboard accelerators), and second &amp;#8220;startup&amp;#8221; focus. If that checkbox is checked (which is the default in Win2k+ OSes), Windows shell keeps track of user action and determines if focus and keyboard accelerators should be visible or not. &amp;#8220;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/KeyboardAccelerators/AboutKeyboardAccelerators.asp"&gt;About Keyboard Accelerators&lt;/A&gt;&amp;#8221; article on MSDN talks about it (scroll all the way to the bottom, and read the section &amp;#8220;UI State&amp;#8221;).&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=+0&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Why&amp;nbsp;should one&amp;nbsp;keep this checkbox&amp;nbsp;unchecked?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Suppose you have a bug with title &amp;#8220;Startup focus is not defined on dialog xyz&amp;#8221;.&amp;nbsp;You start&amp;nbsp;investigating the issue, and&amp;nbsp;you notice that sometimes focus is present, sometimes it is not. It is very easy to overlook the fact once you used mouse, and at other times, you used keyboard to bring up your dialog. The repro steps in bug will say, &amp;#8220;bring up the dialog&amp;#8221; and won't say &amp;#8220;bring up the dialog &lt;EM&gt;using mouse&lt;/EM&gt;&amp;#8221;. You would be scratching your head before you figure out that difference is due to the way of activating the dialog.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Or&amp;nbsp;consider the case, you had this bug and you fixed the issue by defining the&amp;nbsp;start focus, but when it comes to verification,&amp;nbsp;the&amp;nbsp;fix doesn't seem to&amp;nbsp;work because you activated the dialog using mouse. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Head banging stuff!! Hence, I always keep this checkbox unchecked and not&amp;nbsp;worry about how I&amp;nbsp;activate my dialog.&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;It also saves you time when you are defining mnemonics on your&amp;nbsp;dialog. You don't have to press &amp;#8220;Alt&amp;#8221;&amp;nbsp;key to see what all labels have mnemonics.&amp;nbsp;A UI&amp;nbsp;scan is sufficient.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;I am owner-drawing a control and want to have a consistent behavior. How do I figure out when to&amp;nbsp;paint&amp;nbsp;focus&amp;nbsp;rectangle and when to draw string with mnemonics underlined?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Managed Code&lt;/STRONG&gt;: - There are two properties on Control, &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolclassshowfocuscuestopic.asp"&gt;ShowFocusCues &lt;/A&gt;and &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscontrolclassshowkeyboardcuestopic.asp"&gt;ShowKeyboardCues, &lt;/A&gt;that you should pay attention to. A sample &lt;FONT face="Courier New"&gt;OnPaint&lt;/FONT&gt; function (C#)&amp;nbsp;would look like&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;protected override void OnPaint(PaintEventArgs e)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;...&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Focused &amp;amp;&amp;amp; ShowFocusCues)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ControlPaint.DrawFocusRectangle(e.Graphics, ClientRectangle);&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;...&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=1&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Arial size=2&gt;To&amp;nbsp;handle Keyboard accelators, you can have code similar to following&amp;nbsp;to&amp;nbsp;define &lt;FONT face="Courier New"&gt;StringFormat&lt;/FONT&gt; that you pass to &lt;FONT face="Courier New"&gt;Graphics.DrawString() &lt;/FONT&gt;method.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face="Courier New" size=2&gt;StringFormat sf;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face="Courier New" size=2&gt;...&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face="Courier New" size=2&gt;sf.HotKeyPrefix = (ShowKeyBoardCues) ? HotKeyPrefix.Show : HotKeyPrefix.Hide;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face="Courier New" size=2&gt;...&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Native Code&lt;/STRONG&gt;: - You can find the UI state by sending &lt;FONT face="Courier New"&gt;&lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_queryuistate.asp"&gt;WM_QUERYUISTATE&lt;/A&gt;&lt;/FONT&gt; message to the control and paint according to the value returned.&amp;nbsp;It is also possible that you might have to pay attention to &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_changeuistate.asp"&gt;WM_CHANGEUISTATE&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardaccelerators/keyboardacceleratorreference/keyboardacceleratormessages/wm_updateuistate.asp"&gt;WM_UPDATEUISTATE&lt;/A&gt;.&amp;nbsp;Sorry, I don't have&amp;nbsp;any sample code :-(.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Thinking&amp;nbsp;of overriding the default behavior and have focus&amp;nbsp;and accelators&amp;nbsp;visible irrespective of the state of checkbox?&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;You should first answer the question &amp;#8220;does it makes sense to override the default behavior and become inconsistent w.r.t. the platform (Windows)&amp;#8221;? One should have very strong reasons to be UI inconsistent. UI inconsistency reflects badly on your application, confuses your users and leads to usability issues.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Yes, you can override the default behavior.&amp;nbsp;One way is to owner draw everything :-). The other suggestion would be&amp;nbsp;to read&amp;nbsp;about and experiment with&amp;nbsp;WM_CHANGEUISTATE and&amp;nbsp;WM_UPDATEUISTATE on the top-level window&amp;nbsp;(Hint: - If you send WM_CHANGEUISTATE message to the top level window, it sends WM_UPDATEUISTATE message to all the child windows).&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Note that overriding ShowFocusCues on your toplevel form&amp;nbsp;and always returning true might give you the impression that you can have focus visible irrespective of the way you activate the dialog (especially if your startup focus is on a LinkLabel). But then try setting startup focus on&amp;nbsp;CheckBox with&amp;nbsp;FlatSytle as System and you would realize that it doesn't work (don't forget to launch using mouse instead of keyboard while&amp;nbsp;experimenting&amp;nbsp;i.e. instead of hitting F5, click Debug-&amp;gt;Start). Watch out for these pitfalls.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;--&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Cheers,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;Saurabh&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face="Times New Roman" size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;PS&lt;/STRONG&gt;: - I do&amp;nbsp;know that previous versions of VS (2002, 2003) are not consistent when it comes to keyboard accelators on menus. We have fixed it in VS 2005.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=115741" width="1" height="1"&gt;</description></item><item><title>Relief from CE Documentation</title><link>http://blogs.msdn.com/saurabhjain/archive/2004/03/08/85821.aspx</link><pubDate>Mon, 08 Mar 2004 13:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:85821</guid><dc:creator>saurabhjain</dc:creator><slash:comments>15</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/85821.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=85821</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;I believe that the following is going to be my claim to fame.&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Every Visual&amp;nbsp;C++ developer has a pet peeve about CE documentation convoluting their help experience.&amp;nbsp;There is no hack free foolproof way to get rid of CE documentation, but the following comes &lt;SPAN&gt;asymptotically close.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;STRONG&gt;Short Answer&lt;/STRONG&gt;: - For people who use the &lt;SPAN&gt;“no filter”&lt;/SPAN&gt; configuration.&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;Start Visual Studio and do Help-&amp;gt;Edit Filters.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;Click “New”.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;In the filter definition, copy and paste the following: -&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;("Locale"="kbEnglish") NOT "TargetOS"="WinCE"&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Click “Save As” and save it as “No CE” (or whatever name you like).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Open Help-&amp;gt;Index and change the filter to “No CE”.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt; 
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;Type “GetWindowText” and hit enter. What happens next is left as an exercise.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt;: - &lt;A href="http://www.pnotepad.org/devlog/"&gt;Simon&lt;/A&gt; pointed out that MFC topics still appear with the filter. &lt;A href="http://hestia.typepad.com/flatlander/"&gt;Ivan Towlson&lt;/A&gt; &lt;A href="http://hestia.typepad.com/flatlander/2004/04/windows_ce_docu.html"&gt;mentioned&lt;/A&gt; that above filter removed some C# documentation. Here is an updated filter that fixes these two issues. Note that this filter does not filter CE documentation from C# documentation.&amp;nbsp;However, I believe that it is not a big issue,&amp;nbsp;as CE does not bite&amp;nbsp;C# documentation.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;((("Locale"="kbEnglish") NOT "TargetOS"="WinCE") NOT "Technology"="MFC") OR ("DocSet" = "C#")&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Long Answer&lt;/STRONG&gt;: - &lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;Following is a suggestion that I received while I was searching for hacks/ways to get rid of CE documentation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;You can get rid of WindowCE topics in VS7 and Everett (VS 7.1) by editing your existing filters or creating a new filter (Help-&amp;gt;Edit Filters). Try putting an existing filter in parens and then adding NOT "TargetOS"="WinCE" to the end of it. For example, the Visual C++ filter is: 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;"DevLang" = "C" OR "DevLang" = "C++" OR "Product" = "VC" OR "DocSet" = "PSDK" OR "DocSet" = "NETFramework" OR ("DocSet" = "kbmsdn" AND "ProductVers" = "kbVC700")&lt;/FONT&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Modify it to look like: 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face="Courier New"&gt;("DevLang" = "C" OR "DevLang" = "C++" OR "Product" = "VC" OR "DocSet" = "PSDK" OR "DocSet" = "NETFramework" OR ("DocSet" = "kbmsdn" AND "ProductVers" = "kbVC700")) NOT "TargetOS"="WinCE"&lt;/FONT&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;This isn’t 100% since not all topics are appropriately annotated, but it’s a start. The most accurate attribute type is “DocSet”. If you look at the existing filters, this will be what you see used the most. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Note that the NOT operator is a binary operator and not a UNARY operator. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;STRONG&gt;VS 2005&lt;/STRONG&gt;: - The ability to edit filters was removed in VS 2005 using a web page (partly due to IE 6 SP2 changes). For now, the only way to add a new filter is through &lt;A href="http://msdn.microsoft.com/vstudio/extend/helplite/"&gt;Help Studio Lite&lt;/A&gt;. It is distributed as part of &lt;A href="http://msdn.microsoft.com/vstudio/extend/default.aspx"&gt;Visual Studio 2005 SDK&lt;/A&gt; (it is 185 MB download though:().&amp;nbsp;With Help Studio Lite on the machine, one can add a filter using the following command line.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN&gt;InnovaHxReg.exe /R /F /NameSpace:ms.VSCC.v80 /FilterName:"No CE" /FilterQuery:"((((\"Locale\"=\"kbEnglish\") NOT \"TargetOS\"=\"WinCE&lt;BR&gt;\") NOT \"Technology\"=\"MFC\") NOT \"Technology\"=\"kbPocketPC\") OR (\"DocSet\" = \"C#\")"&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=85821" width="1" height="1"&gt;</description></item><item><title>Howdy Everybody... </title><link>http://blogs.msdn.com/saurabhjain/archive/2004/03/08/85811.aspx</link><pubDate>Mon, 08 Mar 2004 10:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:85811</guid><dc:creator>saurabhjain</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/saurabhjain/comments/85811.aspx</comments><wfw:commentRss>http://blogs.msdn.com/saurabhjain/commentrss.aspx?PostID=85811</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Hello World, I am developer on Visual Studio's Core IDE team. The following is a short introduction about me.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;Code Monkey Extraordinaire.&lt;BR&gt;Primary Function: - Help Integration in Visual Studio. (Come on, everybody uses Help, right!)&lt;BR&gt;Other Expertise: - General shell (IDE) issues, Managed UI (Windows Forms) integration with Visual Studio.&lt;BR&gt;Previously worked on &lt;SPAN style="FONT-FAMILY: Arial"&gt;&lt;A title=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsavs70/html/veoriGettingStartedWithVisualStudioAnalyzer.asp href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsavs70/html/veoriGettingStartedWithVisualStudioAnalyzer.asp"&gt;&lt;FONT title=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsavs70/html/veoriGettingStartedWithVisualStudioAnalyzer.asp size=2&gt;&lt;SPAN title=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsavs70/html/veoriGettingStartedWithVisualStudioAnalyzer.asp style="FONT-SIZE: 10pt"&gt;&lt;U&gt;Visual Studio Analyzer&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;. Did my under graduation&amp;nbsp;from &lt;FONT face=Arial&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;&lt;A title=http://www.iitb.ac.in/ href="http://www.iitb.ac.in/"&gt;&lt;FONT title=http://www.iitb.ac.in/ size=2&gt;&lt;SPAN title=http://www.iitb.ac.in/ style="FONT-SIZE: 10pt"&gt;&lt;U&gt;IIT Bombay&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;in &lt;SPAN style="FONT-FAMILY: Arial"&gt;&lt;A title=http://www.cse.iitb.ac.in/ href="http://www.cse.iitb.ac.in/"&gt;&lt;FONT title=http://www.cse.iitb.ac.in/ size=2&gt;&lt;SPAN title=http://www.cse.iitb.ac.in/ style="FONT-SIZE: 10pt"&gt;&lt;U&gt;Computer Sciences&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;.&lt;BR&gt;In my free time(!!!!): - Read fiction. Follow Formula 1, cricket, baseball, NFL. Swim. Habitually lurking on XBOX live at 4 am.&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=85811" width="1" height="1"&gt;</description></item></channel></rss>