Introduction
I switched from VS6 to VS7 and I wondered if it can be true that i can only add a member function by using the
new "Add member function" Wizard. I searched for the sourcecode of the add member function wizard and found it in my
Visual Studio directory in \Program Files\Microsoft Visual Studio .NET\VC7\VCWizards\MemFunctionWiz\HTML\default.html.
I changed a few values and tested my changes in a new opened instance of VS7 and it worked. I added a checkbox, and
changed a few things, and now I can enter a name of a function into the function name textbox like this
"TestFunction(int nTest, BOOL bTest)", like good old VS6. It saves a lot of time. The checkbox exists to switch from
old-style to new-style. If it is disabled I have to use the param list to define a new function.
Open the default.html in notepad.exe
Scroll to:
<TR>
<TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="12">
</TD>
<TD VALIGN="TOP" HEIGHT="23">
<input ID="CHECKBOXOLDSTYLE" type="checkbox" CHECKED>
<LABEL FOR="CHECKBOXOLDSTYLE"
ID="OLDSTYLE_LABEL">Enter old-style function name</LABEL>
</TD>
<TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="75">
<BUTTON CLASS="BUTTONS" ID="FinishBtn"
onClick="OnFinish(document);">Fertig stellen</BUTTON>
</TD>
<TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="4">
</TD>
<TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="75">
<BUTTON CLASS="BUTTONS" ID="CancelBtn"
onClick="window.external.Finish(document, 'cancel');">Abbrechen</BUTTON>
If you save the default.htm and start a new instance of VS7, a checkbox appears on the bottom-left.
Scroll to:
function Validate(obj)
{
try
{
var bValid = true;
switch(obj.id)
{
case "FUNCTION_NAME":
{
var strNameWithParamList = "";
if( CHECKBOXOLDSTYLE.checked )
{
strNameWithParamList = FUNCTION_NAME.value;
}
else
{
strNameWithParamList = FUNCTION_NAME.value + "(" +
strParameters + ")";
}
window.external.AddSymbol("FUNCTION_FULLNAME",
strNameWithParamList);
bValid = window.external.ParentObject.ValidateMember.....
Save the file and try in VS7
Finished, now you can enter a member function the old way.