If I set this.SupportsProjectDesigner = false in my project I get the
project properties dialog like VC++ has (which is more user friendly for
something as complex as a C/C++ build) I have similar needs and am trying
to figure out how to show sub categories. I can easily handle the things
shown directly under Common Properties and Configuration properties like
"General" and "Debugging". As the MPF supports getting an array of guids for
the config dependent and independent property pages. The mystery starts when
you hit "C/C++" or "Linker" or any of the rest of the properties that have
sub "categories" in the tree on the left side of the standard VC++ project
properties dialog. I don't see any samples nor any clues on how to
accomplish that same functionality. Any clues or pointers appreciated.

Signature
Steve Maillet
EmbeddedFusion
www.EmbeddedFusion.com
smaillet at EmbeddedFusion dot com
Steve Maillet (eMVP) - 06 Jan 2007 00:25 GMT
Well, here I am answering my own question... After continuing to dig I found
an obscure reference to IVsPropertyPage that does the trick. It's a bit of
an odd puppy as it contains only one method that the IDE calls repeatedly to
get the "path" for the property page in the tree view. The docs make a note
that the IDE currently only supports two levels of sub categories so I added
the following code to my property page as a test and sure enough I got a
tree view that had 'cat2\cat2\mypropertypage' (NOTE: no cat3 and TWO cat2
entries) no cat3 is actually expected as the docs say the IDE only supports
2 levels at this time but the duplicate cat2 entries is unexpected and I
can't figure out how to get past that as this API is anything but
intuitively obvious to the casual observer. :(
int IVsPropertyPage.CategoryTitle(uint iLevel, out string Category)
{
switch(iLevel)
{
case 0:
Category = "cat1";
return VSConstants.S_OK;
case 1:
Category = "cat2";
return VSConstants.S_OK;
case 3:
Category = "cat3";
return VSConstants.S_OK;
default:
Category = null;
return VSConstants.S_FALSE;
}
}

Signature
Steve Maillet
EmbeddedFusion
www.EmbeddedFusion.com
smaillet at EmbeddedFusion dot com