Groups | Blog | Home
all groups > visual studio .net documentation > august 2003 >

visual studio .net documentation : Docs default to MFC and can't filter out MFC in VS.NET 7.0


Bennett
8/26/2003 11:02:05 AM
I'm running into a problem with my VS.NET v7.0 docs that default to
MFC documention. E.g, if I want help on WM_PAINT, I highlight
WM_PAINT, press F1, and the docs pull up CWnd::OnPaint. I don't get
it...If I had highlighted OnPaint instead I'd understand, but why
supercede my selection when there's an exact topic match? This has
happened to me in past versions, and after finding no way change this
behavior, I decided to create a custom filter to exclude MFC
documention.

Now I run into a new problem. Older versions let me select all the
docs and exclude just MFC. This version has a new "filter definition"
whose syntax is undocumented ("Creating a Custom Filter" wates its
time telling developers how to click "New" and "Save").

Using the existing filters as a guide, I tried:
NOT "Technology"="MFC"
which fails, saying it "contains an error". Wow, thanks for the
insight. Lacking docs, I can only assume this is because I haven't
selected something from which to exclude MFC. I've tried all sorts of
wildcards and modified SQL statements, but can't figure out how to
select everything without manually selecting every topic available.
(Hmmm...maybe that's why "Creating a Custom Filter" spent so long
telling developers how to click.)

(1) Does anyone know how to setup the filter to only exclude MFC?
(2) Better yet, is there any REAL documention for the filter
definition (i.e., keywords, syntax, etc.)?

Roger Haight [MSFT]
8/28/2003 1:55:09 PM
Bennett, I do not have a good answer for you. I realize the situation is
unsatisfactory. The mechanism for defining custom filters is fairly
primitive, and I do not have thorough details on the syntax. I do know,
however, that there is a binary NOT operator. This means it includes the
"AND", so you have to do something like:

"color"="red" NOT "shape"="square"

With that in mind, I created a custom filter (based on the "Visual C++"
filter) that appears to exclude MFC topics:

("DevLang" = "C" OR "DevLang" = "C++" OR "Product" = "VC" NOT
"Technology"="MFC") OR "DocSet" = "PSDK" OR "DocSet" = "NETFramework"

HOWEVER, having this filter does not help you in this situation, because
filters are ignored in the F1 lookup process. The filters apply to your view
of the Contents, to the Index lookups, and to Search operations, but not to
F1.

That being the case, here are the workarounds I can suggest, acknowledging
that they are not as convenient as getting what you asked for:

1. Copy the element name (WM_PAINT or whatever) that you've highlighted in
your code, press CTRL+ALT+F2 to open the Index pane, and paste the string
into the "Look For" box. With the custom filter applied, you'll get a direct
match on the Help topic you were looking for, without any interference from
an MFC topic.
2. In the example you cite, you press F1 and end up seeing the CWnd::OnPaint
topic. There are two links in that topic to the WM_PAINT topic that you want
to see. The MFC documentation makes liberal use of hyperlinks to the Help
topics in the Win32 SDK documentation that covers stuff like this. So I
believe that if there are other examples of this sort of problem, you will
also frequently find a link to the topic you are looking for in the MFC
topic that you land on.

--Roger
_______________________________
Roger Haight
Developer Division User Assistance
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.

[quoted text, click to view]


AddThis Social Bookmark Button