📄 mfc1.php
字号:
<P align=justify>定义了各种资源ID </P></TD></TR>
<TR>
<TD vAlign=top width="18%" rowSpan=2>
<P align=justify>t.h </P></TD>
<TD vAlign=top width="82%" rowSpan=2>
<P align=justify>#include "resource.h"</P>
<P align=justify>定义了从CWinApp派生的应用程序对象CTApp </P></TD></TR>
<TR></TR>
<TR>
<TD vAlign=top width="18%">
<P align=justify>childfrm.h </P></TD>
<TD vAlign=top width="82%">
<P align=justify>定义了从CMDIChildWnd派生的文档框架窗口对象CTChildFrame </P></TD></TR>
<TR>
<TD vAlign=top width="18%">
<P align=justify>mainfrm.h </P></TD>
<TD vAlign=top width="82%">
<P align=justify>定义了从CMDIFrameWnd派生的框架窗口对象CMainFrame </P></TD></TR>
<TR>
<TD vAlign=top width="18%" height=13>
<P align=justify>tdoc.h </P></TD>
<TD vAlign=top width="82%" height=13>
<P align=justify>定义了从CDocument派生的文档对象CTDoc </P></TD></TR>
<TR>
<TD vAlign=top width="18%">
<P align=justify>tview.h </P></TD>
<TD vAlign=top width="82%">
<P align=justify>定义了从CView派生的视图对象CTView </P></TD></TR></TBODY></TABLE>
<P></P>
<P> </P>
<P align=center>表1-2 AppWizard所生成的实现文件</P>
<P align=center></P>
<P align=left>
<TABLE cellSpacing=1 cellPadding=7 width=653 border=1>
<TBODY>
<TR>
<TD vAlign=top width="21%">
<P align=justify>实现文件 </P></TD>
<TD vAlign=top width="41%">
<P align=justify>所包含的头文件 </P></TD>
<TD vAlign=top width="38%">
<P align=justify>实现的内容和功能 </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>stdafx.cpp </P></TD>
<TD vAlign=top width="41%">
<P align=justify>#include "stdafx.h" </P></TD>
<TD vAlign=top width="38%">
<P align=justify>用来产生预编译的类型信息。 </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>t.cpp </P></TD>
<TD vAlign=top width="41%">
<P align=justify># include "stdafx.h"</P>
<P align=justify># include "t.h"</P>
<P align=justify></P>
<P align=justify># include "MainFrm.h"</P>
<P align=justify># include "childfrm.h"</P>
<P align=justify>#include "tdoc.h"</P>
<P align=justify>#include "tview.h"</P>
<P align=justify></P></TD>
<TD vAlign=top width="38%">
<P align=justify>定义CTApp的实现,并定义CTApp类型的全局变量theApp。 </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>childfrm.cpp </P></TD>
<TD vAlign=top width="41%">
<P align=justify>#inlcude "stdafx.h"</P>
<P align=justify>#include "t.h"</P>
<P align=justify></P>
<P align=justify>#include “childfrm.h” </P></TD>
<TD vAlign=top width="38%">
<P align=justify>实现了类CChildFrame </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>childfrm.cpp </P></TD>
<TD vAlign=top width="41%">
<P align=justify>#inlcude "stdafx.h"</P>
<P align=justify>#include "t.h"</P>
<P align=justify></P>
<P align=justify>#include "childfrm.h" </P></TD>
<TD vAlign=top width="38%">
<P align=justify>实现了类CMainFrame </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>tdoc.cpp </P></TD>
<TD vAlign=top width="41%">
<P align=justify># include "stdafx.h"</P>
<P align=justify># include "t.h"</P>
<P align=justify></P>
<P align=justify># include "tdoc.h" </P></TD>
<TD vAlign=top width="38%">
<P align=justify>实现了类CTDoc </P></TD></TR>
<TR>
<TD vAlign=top width="21%">
<P align=justify>tview.cpp</P>
<P align=justify></P></TD>
<TD vAlign=top width="41%">
<P align=justify># include "stdafx.h"</P>
<P align=justify># include "t.h"</P>
<P align=justify></P>
<P align=justify># include "tdoc.h"</P>
<P align=justify># include "tview.h"</P>
<P align=justify></P></TD>
<TD vAlign=top width="38%">
<P align=justify>实现了类CTview</P>
<P align=justify></P></TD></TR></TBODY></TABLE>
<P></P>
<P> </P>
<P align=center> </P>
<P align=justify>从表1-2中的包含关系一栏可以看出:</P>
<DIR>
<P align=justify>CTApp 的实现用到所有的用户定义对象,包含了他们的定义;CView
的实现用到CTdoc;其他对象的实现只涉及自己的定义;</P>
<P align=justify>当然,如果增加其他操作,引用其他对象,则要包含相应的类的定义文件。</P></DIR>
<P align=justify>对预编译头文件说明如下:</P>
<P
align=justify>所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。</P>
<P
align=justify>预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。</P>
<P
align=justify>编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include
"stdafx.h"前的代码都是预编译的,它跳过#include "stdafx.
h"指令,使用projectname.pch编译这条指令之后的所有代码。</P>
<P align=justify>因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。</P>
<P align=justify>另外,每一个实现文件CPP都包含了如下语句:</P>
<P align=justify>#ifdef _DEBUG</P>
<P align=justify>#undef THIS_FILE</P>
<P align=justify>static char BASED_CODE THIS_FILE[] = __FILE__;</P>
<P align=justify>#endif</P>
<P
align=justify>这是表示,如果生成调试版本,要指示当前文件的名称。__FILE__是一个宏,在编译器编译过程中给它赋值为当前正在编译的文件名称。</P>
<hr>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td align="center"><a href="mfc.php" target="_self">回目录</a> <a href="mfc2.php" target="_self">下一章</a></td>
</tr>
</table>
<p> </p>
<P
align=justify> </P>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -