Click here to Skip to main content
15,885,164 members
Articles / Desktop Programming / MFC

Develop MFC Doc/View Application Which Supports Any Number Document Template

Rate me:
Please Sign up or sign in to vote.
1.57/5 (3 votes)
2 Jun 20052 min read 36.4K   1.7K   26  
This article provides an introduction to TangramLittle, a C++ Framework for MFC and the .NET Framework. Knowledge in MFC and the .NET Framework is assumed.
<!- (c) 2001 Microsoft Corporation -->
<HTML DIR="LTR">

<HEAD>
	<TITLE>MFC DLL Wizard</TITLE>
	<META NAME="vs_targetSchema" CONTENT="http://schemas.microsoft.com/intellisense/ie5">
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
	<STYLE TYPE="text/css">@import url(../../../1033/NewStyles.css);</STYLE>
	<SCRIPT>
		var strURL = "../../../";
		strURL += window.external.GetHostLocale();
		strURL += "/NewStyles.css";
		document.styleSheets(0).imports(0).href = strURL;
	</SCRIPT>
</HEAD>

<BODY BGCOLOR="BUTTONFACE" TOPMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0" BOTTOMMARGIN="0" ONLOAD="InitDocument(document);" ONKEYDOWN="if (!bValidating) OnKey();" ONKEYPRESS="if (!bValidating) OnPress();">

<TABLE CLASS="ONE" HEIGHT="100%" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<COL WIDTH="178"><COL>

  <!--OPEN OF INTRODUCTORY INFORMATION TABLE//-->
  <TR VALIGN="TOP">
	<TD HEIGHT="79" WIDTH="100%" COLSPAN="2">
	 <TABLE CLASS="TWO" BORDER="0" CELLPADDING="0" CELLSPACING="0">
	 <COL WIDTH="12"><COL><COL WIDTH="12">
	  <TR>
	   <TD VALIGN="TOP" HEIGHT="12" WIDTH="12">
	  	&nbsp;
	   </TD>
  
	   <TD VALIGN="TOP" HEIGHT="12">
	  	&nbsp;
	   </TD>
  
	   <TD VALIGN="TOP" HEIGHT="12" WIDTH="12">
	  	&nbsp;
	   </TD>
  
	   <TD CLASS="IMAGE" VALIGN="BOTTOM" WIDTH="110" ROWSPAN="2">
		<DIV CLASS="SMALLA" ID="Layer0">
		 <IMG CLASS="SMALLEST" SRC="../../Images/MFC_DLL_1.gif" WIDTH="63" HEIGHT="63" ALT="" BORDER="0">
		</DIV>
	   </TD>

	   <TD VALIGN="TOP" HEIGHT="12" WIDTH="6" ROWSPAN="2">
	  	&nbsp;
	   </TD>
	  </TR>
	 
	  <TR>
	   <TD VALIGN="TOP" HEIGHT="65" WIDTH="12">
	  	&nbsp;
	   </TD>
	  
	   <TD VALIGN="TOP" HEIGHT="65">
		<H4 CLASS="HEAD" ID="HEAD">Application Settings</H4>
		<P CLASS="SUBHEAD" ID="SUBHEAD">Specify the type and features of the DLL.</P>
	   </TD>
	  
	   <TD VALIGN="TOP" HEIGHT="65" WIDTH="12">
	  	&nbsp;
	   </TD>
	  </TR>
	 
	  <TR>
	   <TD VALIGN="TOP" CLASS="RULE" COLSPAN="5" HEIGHT="2">
		<TABLE BORDER="0" WIDTH="100%" HEIGHT="1" CELLPADDING="0" CELLSPACING="0">
	  	 <TR VALIGN="TOP">
	  	  <TD HEIGHT="1" WIDTH="100%" BGCOLOR="BUTTONSHADOW"></TD>
	  	  <TD HEIGHT="1" WIDTH="1" BGCOLOR="WINDOW"></TD>
	  	 </TR>
		</TABLE>
	   </TD>
	  </TR>
	 </TABLE>
	</TD>
  </TR>
  <!--CLOSE OF INTRODUCTORY INFORMATION TABLE//-->

  <!--OPEN OF NAVIGATION, CONTENT, AND BUTTON TABLES//-->
  <TR VALIGN="TOP">
	<TD CLASS="Three" VALIGN="TOP" HEIGHT="100%" WIDTH="178">
	 <TABLE CLASS="fixedSize" HEIGHT="100%" WIDTH="178" BORDER="0" CELLPADDING="0" CELLSPACING="0">
  	  <TR VALIGN="TOP">
	   <TD CLASS="threeCustom" VALIGN="TOP" STYLE="BACKGROUND-IMAGE: URL(../../Images/MFC_DLL_Background.gif);">
	   <!--OPEN OF NAVIGATION TABLE//-->

	    <TABLE CLASS="THREE" BORDER="0" CELLPADDING="0" CELLSPACING="0">
		<COL WIDTH="12"><COL WIDTH="166"><COL WIDTH="1">
		 <TR>
	   	  <TD VALIGN="TOP" COLSPAN="3" HEIGHT="12">
	  		&nbsp;
		  </TD>
		 </TR>
		 <TR>
	   	  <TD VALIGN="TOP" HEIGHT="100%" WIDTH="12">
	  		&nbsp;
		  </TD>
	   	  <TD VALIGN="TOP" HEIGHT="100%" WIDTH="165">
	   	  <!--OPEN OF NAVIGATIONAL LINKS//-->
	  		
			<DIV CLASS="LINK">
			 <TABLE WIDTH="166" HEIGHT="28" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="LINKTEXT">
			  <TR VALIGN="MIDDLE">
	  		   <TD WIDTH="162">
				<SPAN CLASS="ACTIVELINK" ID="Default" TITLE="Examine an overview of selections." onClick="Next(document, 'default.htm');" TABINDEX="1">Overview</SPAN>
			   </TD>
	  		   <TD WIDTH="4">
			  	<IMG SRC="../../Images/spacer.gif" HEIGHT="1" WIDTH="4">
			   </TD>
			  </TR>
			 </TABLE>
			</DIV>

		  	<DIV CLASS="LINKSELECTED">
	 	   	 <SPAN CLASS="VERTLINE1">
			  <IMG SRC="../../Images/spacer.gif" WIDTH="1" HEIGHT="1" ALT="" BORDER="0">
			 </SPAN>
			 <SPAN CLASS="HORILINE1">
			  <TABLE WIDTH="167" HEIGHT="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0">
			   <TR VALIGN="TOP">
			    <TD CLASS="DOTTEDLINE" HEIGHT="1">
				</TD>
			   </TR>
			   <TR VALIGN="TOP">
			    <TD HEIGHT="100%">
				 <IMG SRC="../../Images/spacer.gif" WIDTH="1" HEIGHT="28" ALT="" BORDER="0">
			    </TD>
			   </TR>
			   <TR VALIGN="TOP">
			    <TD CLASS="DOTTEDLINE" HEIGHT="1">
			    </TD>
			   </TR>
			  </TABLE>
			 </SPAN>
			 <TABLE WIDTH="160" HEIGHT="28" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="LINKTEXTSELECTED">
			  <TR VALIGN="MIDDLE">
			   <TD WIDTH="156">
				<SPAN ID="AppSettings" TITLE="Specify the type and features of the DLL.">Application Settings</SPAN>
			   </TD>
			   <TD WIDTH="4">
				<IMG SRC="../../Images/spacer.gif" HEIGHT="1" WIDTH="4">
			   </TD>
			  </TR>
			 </TABLE>
			</DIV>
			
	   	  <!--CLOSE OF NAVIGATIONAL LINKS//-->
		  </TD>
		  <TD WIDTH="1">
		   <DIV CLASS="VERTLINE">
			 <IMG SRC="../../Images/spacer.gif" WIDTH="1" HEIGHT="1" ALT="" BORDER="0">
		   </DIV>
		  </TD>
		 </TR>
		 </TABLE>
		</TD>
	   </TR>
	   </TABLE>
			
	   <!--CLOSE OF NAVIGATION TABLE//-->
	   </TD>
  
	   <TD VALIGN="TOP" HEIGHT="100%">
	   <!--OPEN OF CONTENT AND BUTTON TABLE//-->
	   
	   	<TABLE CLASS="ONE" BORDER="0" CELLPADDING="0" CELLSPACING="0">
		<COL WIDTH="100%">
		 <TR VALIGN="TOP">
		  <TD HEIGHT="100%">
	   	  <!--OPEN OF CONTENT//-->
		  
		  	<TABLE CLASS="CONTENT" BORDER="0" CELLPADDING="0" CELLSPACING="0">
			<COL WIDTH="12"><COL WIDTH="398"><COL WIDTH="12">
 			 <TR>
  			  <TD VALIGN="TOP" HEIGHT="12" COLSPAN="3">
  				&nbsp;
  			  </TD>
 			 </TR>
 			 <TR>
 			 <TD VALIGN="TOP" WIDTH="12">
  				&nbsp;
  			  </TD>
  			  <TD VALIGN="TOP">
 				<SPAN CLASS="itemTextTop" ID="DLL_TYPE_SPAN" TITLE="">DLL type:
					 <P CLASS="Spacer">&nbsp;</P>
	
	  				 <INPUT TYPE="radio" CLASS="Radio" onPropertyChange="OnDLLType()" NAME="dlltype" ID="DLL_TYPE_REGULAR" ACCESSKEY="D" TITLE="Create a DLL that may be used by MFC or non-MFC applications. Supports both static and dynamic linking.">
	  	 			 <DIV CLASS="itemTextRadioB" ID="DLL_TYPE_REGULAR_DIV" TITLE="Create a DLL that may be used by MFC or non-MFC applications. The resulting DLL uses the MFC shared DLL." STYLE="WIDTH:391PX;">
		  			  <LABEL FOR="DLL_TYPE_REGULAR" ID="DLL_TYPE_REGULAR_LABEL">Regular <U>D</U>LL using shared MFC DLL</LABEL>
	  	 			 </DIV>
	  
	  				 <BR>
	  
	  			 	 <INPUT TYPE="radio" CLASS="Radio" onPropertyChange="OnDLLType()" NAME="dlltype" ID="DLL_TYPE_REGULAR_STATIC" ACCESSKEY="R" TITLE="Create a DLL that may be used by MFC or non-MFC applications. Supports both static and dynamic linking.">
	  	 			 <DIV CLASS="itemTextRadioB" ID="DLL_TYPE_REGULAR_STATIC_DIV" TITLE="Create a DLL that may be used by MFC or non-MFC applications. Supports both static and dynamic linking." STYLE="WIDTH:391PX;">
		  			  <LABEL FOR="DLL_TYPE_REGULAR_STATIC" ID="DLL_TYPE_REGULAR_STATIC_LABEL"><U>R</U>egular DLL with MFC statically linked</LABEL>
	  	 			 </DIV>
	  
	  				 <BR>
	  
	  			 	 <INPUT TYPE="radio" CLASS="Radio" onPropertyChange="OnDLLType()" NAME="dlltype" ID="DLL_TYPE_EXTENSION" ACCESSKEY="E" TITLE="Create an MFC extension DLL that implements reusable classes derived from the existing MFC library classes.The resulting DLL may only by used by MFC applications.">
	  	 			 <DIV CLASS="itemTextRadioB" ID="DLL_TYPE_EXTENSION_DIV" TITLE="Create an MFC extension DLL that implements reusable classes derived from the existing MFC library classes.The resulting DLL may only by used by MFC applications." STYLE="WIDTH:391PX;">
		  			  <LABEL FOR="DLL_TYPE_EXTENSION" ID="DLL_TYPE_EXTENSION_LABEL">MFC <U>e</U>xtension DLL</LABEL>
	  	 			 </DIV>
				</SPAN>
					 
				<P CLASS="ElementSpacer">&nbsp;</P>
					 
				<SPAN CLASS="itemText" ID="ADDITIONAL_FEATURES_SPAN" TITLE="">Additional features:
	  				 <P CLASS="Spacer">&nbsp;</P>
	  
	  				 <INPUT TYPE="checkbox" CLASS="CheckBoxA" ACCESSKEY="u" ID="AUTOMATION" TITLE="Exposes DLL objects to scripting tools and other applications.">
	  	 			 <DIV CLASS="itemTextCheckboxB" TITLE="Exposes DLL objects to scripting tools and other applications." ID="AUTOMATION_LABEL" STYLE="WIDTH:391PX;">
		  			  <LABEL FOR="AUTOMATION" ID="AUTOMATION_LABEL">A<U>u</U>tomation</LABEL>
	  	 			 </DIV>
					 
	  				 <BR>
	  
	  				 <INPUT TYPE="checkbox" CLASS="CheckBoxA" ACCESSKEY="W" ID="SOCKETS" TITLE="Includes support for MFC Windows Sockets in the DLL.">
	  	 			 <DIV CLASS="itemTextCheckboxB" ID="SOCKETS_DIV" TITLE="Includes support for MFC Windows Sockets in the DLL." STYLE="WIDTH:391PX;">
		  			  <LABEL FOR="SOCKETS" ID="SOCKETS_LABEL"><U>W</U>indows sockets</LABEL>
	  	 			 </DIV>
				</SPAN>
  		  	  </TD>
  
  		  	  <TD VALIGN="TOP" WIDTH="12">
  				&nbsp;
  		  	  </TD>
 		  	 </TR>
		 	</TABLE>
			
	   	  <!--CLOSE OF CONTENT//-->
		  </TD>
		 </TR>
		 <TR VALIGN="BOTTOM">
		  <TD HEIGHT="48">
	   	  <!--OPEN OF BUTTON HTML//-->
		  
		  	<TABLE HEIGHT="48" BORDER="0" CELLPADDING="0" CELLSPACING="0">
			<COL WIDTH="12"><COL><COL WIDTH="75"><COL WIDTH="4"><COL WIDTH="75"><COL WIDTH="4"><COL WIDTH="75"><COL WIDTH="12">
			 <TR>
  			  <TD VALIGN="TOP" CLASS="RULE" COLSPAN="8" HEIGHT="2">
				<TABLE BORDER="0" WIDTH="100%" HEIGHT="1" CELLPADDING="0" CELLSPACING="0">
  	 			 <TR VALIGN="TOP">
  	  			  <TD HEIGHT="1" WIDTH="100%" BGCOLOR="BUTTONSHADOW"></TD>
  	  			  <TD HEIGHT="1" WIDTH="1" BGCOLOR="WINDOW"></TD>
  	 			 </TR>
				</TABLE>
  			  </TD>
 			  </TR>
 
 			  <TR>
  			  <TD VALIGN="TOP" HEIGHT="11" COLSPAN="8">
  				&nbsp;
  			  </TD>
 			 </TR>
 
 			<TR>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="12">
  				&nbsp;
  			  </TD>
  			  <TD VALIGN="TOP" HEIGHT="23">
  				&nbsp;
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="75">
  				<BUTTON CLASS="BUTTONS" ID="FinishBtn" onClick="OnFinish(document);">Finish</BUTTON>
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="4">
  				&nbsp;
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="75">
  				<BUTTON CLASS="BUTTONS" ID="CancelBtn" onClick="window.external.Finish(document, 'cancel');">Cancel</BUTTON>
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="4">
  				&nbsp;
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="75">
  				<BUTTON CLASS="BUTTONS" ID="HelpBtn" onClick="window.external.OnHelp('vc.appwiz.mfc.dll.appset');">Help</BUTTON>
  			  </TD>
  			  <TD VALIGN="MIDDLE" HEIGHT="23" WIDTH="12">
  				&nbsp;
  			  </TD>
 			 </TR>
 
 			 <TR>
  			  <TD VALIGN="TOP" HEIGHT="12" COLSPAN="8">
  				&nbsp;
  			  </TD>
 			 </TR>
			</TABLE>
			
	   	  <!--CLOSE OF BUTTON HTML//-->
		  </TD>
		 </TR>
		</TABLE>
	
  	<!--CLOSE OF NAVIGATION, CONTENT, AND BUTTON TABLES//-->
 	</TD>
  </TR>
</TABLE>

</BODY>
</HTML>

<SCRIPT LANGUAGE="JSCRIPT">

var tab_array = new Array();
tab_array[0] = Default;
tab_array[1] = AppSettings;

function InitDocument(document)
{
	setDirection();
	DLL_TYPE_REGULAR.focus();
	
	window.external.Load(document);
}

function Next(document, linkto)
{
	window.external.Next(document, linkto);
}

function OnFinish(document)
{
	OnWizFinish(document);
}

function OnDLLType()
{
	AUTOMATION.disabled = false;
	AUTOMATION_LABEL.disabled = false;

	if (DLL_TYPE_EXTENSION.checked)
	{
		AUTOMATION.disabled = true;
		AUTOMATION_LABEL.disabled = true;
	}
}

</SCRIPT>
<SCRIPT ID="INCLUDE_SCRIPT" LANGUAGE="JSCRIPT"></SCRIPT>
<SCRIPT ID="INCLUDE_COMMON" LANGUAGE="JSCRIPT"></SCRIPT>
<SCRIPT>
	var strPath = "../../../";
	strPath += window.external.GetHostLocale();
	var strScriptPath = strPath + "/Script.js";
	var strCommonPath = strPath + "/Common.js";
	document.scripts("INCLUDE_SCRIPT").src = strScriptPath;
	document.scripts("INCLUDE_COMMON").src = strCommonPath;
</SCRIPT>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here



Comments and Discussions