MFC教程

  • h8_295817
    了解作者
  • 498.1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-29 02:50
    上传日期
MFC教程MFC教程MFC教程MFC教程
MFC教程.rar
  • MFC教程
  • MFC教程_ MFC和Win32.files
  • image110.gif
    2.5KB
  • image107.gif
    3.3KB
  • image109.gif
    2.7KB
  • image106.gif
    4.2KB
  • image108.gif
    2.6KB
  • MFC教程_ CObject类2.files
  • image111.gif
    4.5KB
  • image112.gif
    2.6KB
  • MFC教程_ 概述.files
  • image104.gif
    5.7KB
  • image105.gif
    5.3KB
  • MFC教程_ 应用程序的退出5.files
  • image138.gif
    11.3KB
  • image139.gif
    8.1KB
  • image137.gif
    15.6KB
  • MFC教程_ 消息映射的实现3.files
  • image113.gif
    4.2KB
  • image117.gif
    7.9KB
  • MFC教程8.files
  • image147.gif
    2.8KB
  • image146.gif
    6.4KB
  • image143.gif
    2.8KB
  • image148.gif
    7.7KB
  • image150.gif
    7.6KB
  • image151.gif
    10.5KB
  • image149.gif
    14.1KB
  • image144.gif
    4.6KB
  • image145.gif
    3.1KB
  • MFC教程_ MFC的进程和线程7.files
  • image140.gif
    8.9KB
  • image141.gif
    15.6KB
  • image142.gif
    7.7KB
  • MFC教程_ MFC对象的创建4.files
  • image129.gif
    13.9KB
  • image125.gif
    19KB
  • image135.gif
    2.8KB
  • image120.gif
    19.8KB
  • image136.gif
    13.4KB
  • image130.gif
    8.1KB
  • image126.gif
    14.9KB
  • image133.gif
    5.9KB
  • image121.gif
    4.9KB
  • image131.gif
    10.6KB
  • image134.gif
    5.7KB
  • image119.gif
    4.5KB
  • image123.gif
    4.2KB
  • image128.gif
    4.5KB
  • image127.gif
    9.7KB
  • image124.gif
    4.5KB
  • image122.gif
    4.3KB
  • image118.gif
    3.1KB
  • image132.gif
    19.8KB
  • MFC教程_ MFC的DLL6.htm
    20.8KB
  • MFC教程_ 应用程序的退出5.htm
    12.1KB
  • MFC教程_ 消息映射的实现3.htm
    91.1KB
  • MFC教程_ MFC和Win32.htm
    46KB
  • MFC教程_ 概述.htm
    16.4KB
  • MFC教程_ MFC对象的创建4.htm
    120.2KB
  • MFC教程_ MFC的进程和线程7.htm
    26.8KB
  • MFC教程_ SOCKET类的设计和实现11.htm
    31.2KB
  • MFC教程_ 内存分配方式和调试机制9.htm
    18.1KB
  • MFC教程_ 对话框和对话框类CDialog11.htm
    65.6KB
  • MFC教程_ MFC工具条和状态栏12.htm
    84.6KB
  • MFC教程_ CObject类2.htm
    29.1KB
  • MFC教程_ MFC下的文件类10.htm
    20.3KB
  • MFC教程8.htm
    74.9KB
内容介绍
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0041)http://www.vczx.com/tutorial/mfc/mfc5.php --> <HTML><HEAD><TITLE>MFC教程_ MFC对象的创建</TITLE> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD> <BODY bgColor=#ffffff> <P align=justify> <LI><a name=_Toc445889035 rel='nofollow' onclick='return false;'></A><a name=_Toc445782438 rel='nofollow' onclick='return false;'></A><a name=_Toc452640914 rel='nofollow' onclick='return false;'></A><a name=_Toc457298997 rel='nofollow' onclick='return false;'></A><B>MFC对象的创建</B> <P></P> <P align=justify>前面几章介绍了MFC的核心概念和思想,即介绍了MFC对Windows对象的封装方法和特点;MFC对象的动态创建、序列化;MFC消息映射机制。</P> <P align=justify>现在,考查MFC的应用程序结构体系,即以文档-视为核心的编程模式。学习本章,应该弄清楚以下问题:</P> <P align=justify>MFC中诸多MFC对象的关系:应用程序对象,文档对象,边框窗口对象,文档边框窗口对象,视对象,文档模板对象等。</P> <P align=justify>MFC对象的创建和销毁:由什么对象创建或销毁什么对象,何时创建,何时销毁?</P> <P align=justify>MFC提供了那些接口来支持其编程模式?</P> <OL> <P align=justify> <LI><a name=_Toc445889036 rel='nofollow' onclick='return false;'></A><a name=_Toc445782439 rel='nofollow' onclick='return false;'></A><a name=_Toc452640915 rel='nofollow' onclick='return false;'></A><a name=_Toc457298998 rel='nofollow' onclick='return false;'></A><B>MFC对象的关系</B> <P></P> <OL> <P align=justify> <LI><B><a name=_Toc445889037 rel='nofollow' onclick='return false;'></A><a name=_Toc445782440 rel='nofollow' onclick='return false;'></A><a name=_Toc452640916 rel='nofollow' onclick='return false;'></A><a name=_Toc457298999 rel='nofollow' onclick='return false;'></A>创建关系</B> <P></P><B> </B> <P align=justify>这里讨论应用程序、文档模板、边框窗口、视、文档等的创建关系。图5-1大略地表示了创建顺序,但表5-1更直接地显示了创建与被创建的关系。</P> <P align=justify> </P> <P align=center>表5-1 MFC对象的创建关系</P> <TABLE cellSpacing=1 cellPadding=7 width=497 border=1> <TBODY> <TR> <TD vAlign=top width="47%"> <P align=justify>创建者 </P></TD> <TD vAlign=top width="53%"> <P align=justify>被创建的对象 </P></TD></TR> <TR> <TD vAlign=top width="47%"> <P align=justify>应用程序对象 </P></TD> <TD vAlign=top width="53%"> <P align=justify>文档模板 </P></TD></TR> <TR> <TD vAlign=top width="47%"> <P align=justify>文档模板 </P></TD> <TD vAlign=top width="53%"> <P align=justify>文档 </P></TD></TR> <TR> <TD vAlign=top width="47%"> <P align=justify>文档模板 </P></TD> <TD vAlign=top width="53%"> <P align=justify>边框窗口 </P></TD></TR> <TR> <TD vAlign=top width="47%"> <P align=justify>边框窗口 </P></TD> <TD vAlign=top width="53%"> <P align=justify>视 </P></TD></TR></TBODY></TABLE> <P align=center> </P> <P align=justify></P> <LI><a name=_Toc445889038 rel='nofollow' onclick='return false;'></A><a name=_Toc445782441 rel='nofollow' onclick='return false;'></A><a name=_Toc452640917 rel='nofollow' onclick='return false;'></A><a name=_Toc457299000 rel='nofollow' onclick='return false;'></A><B>交互作用关系</B> <P></P></LI></OL> <P align=justify>应用程序对象有一个文档模板列表,存放一个或多个文档模板对象;文档模板对象有一个打开文档列表,存放一个或多个已经打开的文档对象;文档对象有一个视列表,存放显示该文档数据的一个或多个视对象;还有一个指针指向创建该文档的文档模板对象;视有一个指向其关联文档的指针,视是一个子窗口,其父窗口是边框窗口(或者文档边框窗口);文档边框窗口有一个指向其当前活动视的指针;文档边框窗口是边框窗口的子窗口。</P> <P align=justify>Windows 管理所有已经打开的窗口,把消息或事件发送给目标窗口。通常,命令消息发送给主边框窗口。</P> <P align=justify>图5-2大略地表示了上述关系:</P> <P align=justify></P> <P align=justify>MFC提供了一些函数来维护这些关系。</P> <P align=justify>表5-2列出了从一个对象得到相关对象的方法。</P> <P align=center>表5-2 从一个对象得到另一个对象的方法</P> <TABLE cellSpacing=1 cellPadding=7 width=497 border=1> <TBODY> <TR> <TD vAlign=top width="29%"> <P align=center>本对象 </P></TD> <TD vAlign=top width="27%"> <P align=center>要得到的对象 </P></TD> <TD vAlign=top width="44%"> <P align=justify>使用的成员函数 </P></TD></TR> <TR> <TD vAlign=top width="29%" rowSpan=2> <P align=justify>CDocument对象 </P></TD> <TD vAlign=top width="27%"> <P align=justify>视列表 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetFirstViewPosition</P> <P align=justify>GetNextView </P></TD></TR> <TR> <TD vAlign=top width="27%"> <P align=justify>文档模板 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetDocTemplate </P></TD></TR> <TR> <TD vAlign=top width="29%" rowSpan=2> <P align=justify>CView对象 </P></TD> <TD vAlign=top width="27%"> <P align=justify>文档对象 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetDocument </P></TD></TR> <TR> <TD vAlign=top width="27%"> <P align=justify>边框窗口 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetParentFrame </P></TD></TR> <TR> <TD vAlign=top width="29%" rowSpan=2> <P align=justify>CMDIChildWnd或</P> <P align=justify>CFrameWnd对象 </P></TD> <TD vAlign=top width="27%"> <P align=justify>活动视 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetActiveView </P></TD></TR> <TR> <TD vAlign=top width="27%"> <P align=justify>活动视的文档 </P></TD> <TD vAlign=top width="44%"> <P align=justify>GetActiveDocument </P></TD></TR> <TR> <TD vAlign=top width="29%"> <P align=justify>CMDIFrameWnd对象 </P></TD> <TD vAlign=top width="27%"> <P align=justify>活动文档边框窗口 </P></TD> <TD vAlign=top width="44%"> <P align=justify>MDIGetActive </P></TD></TR></TBODY></TABLE> <P align=center> </P> <P align=center>表5-3 从一个对象通知另一个对象的方法:</P> <TABLE cellSpacing=1 cellPadding=7 width=497 border=1> <TBODY> <TR> <TD vAlign=top width="31%"> <P align=justify>本对象 </P></TD> <TD vAlign=top width="30%"> <P align=justify>要通知的对象/动作 </P></TD> <TD vAlign=top width="39%"> <P align=justify>使用的成员函数 </P></TD></TR> <TR> <TD vAlign=top width="31%"> <P align=justify>CView对象 </P></TD> <TD vAlign=top width="30%"> <P align=justify>通知文档更新所有视 </P></TD> <TD vAlign=top width="39%"> <P align=justify>CDocument::UpdateAllViews </P></TD></TR> <TR> <TD vAlign=top width="31%"> <P align=justify>CDocument对象 </P></TD> <TD vAlign=top width="30%"> <P align=justify>更新一个视 </P></TD> <TD vAlign=top width="39%"> <P align=justify>CView::OnUpdate </P></TD></TR> <TR> <TD vAlign=top width="31%" rowSpan=2> <P align=justify>CFrameWnd或</P> <P align=justify>CMDIFrameWnd对象 </P></TD> <TD vAlign=top width="30%"> <P align=justify>通知一个视为活动视 </P></TD> <TD vAlign=top width="39%"> <P align=justify>CView::OnActivateView </P></TD></TR> <TR> <TD vAlign=top width="30%"> <P align=justify>设置一个视为活动视 </P></TD> <TD vAlign=top width="39%"> <P align=justify>SetActivateView </P></TD></TR></TBODY></TABLE> <P align=justify></P> <P align=justify>可以通过表5-2得到相关对象,再调用表5-3中相应的函数。例如:视在接受了新数据或者数据被修改之后,使用表5-2中的函数GetDocument得到关联文档对象,然后调用表5-3中的文档函数UpdateAllViews更新其他和文档对象关联的视。</P> <P align=justify>在表5-2和表5-3中,CView对象指CView或派生类的实例;成员函数列中如果没有指定类属,就是第一列对象的类的成员函数。</P> <P align=justify></P> <LI><a name=_Toc445889039 rel='nofollow' onclick='return false;'></A><a name=_Toc445782442 rel='nofollow' onclick='return false;'></A><a name=_Toc452640918 rel='nofollow' onclick='return false;'></A><A n
评论
    相关推荐
    • MFC入门
      MFC入门是pdf格式的,压缩包中含有pdf的浏览器
    • MFC五子棋
      MFC五子棋MFC五子棋MFC五子棋MFC五子棋MFC五子棋MFC五子棋MFC五子棋
    • MFC计算器
      MFC简易计算器,基于MFC对话框窗口界面实现
    • mfc指南
      基础的mfc 参考手册 入门资料
    • mfc大全
      It's very good!
    • 中文MFC
      中文的MFC类库详解,供大家编程用
    • MFC入门
      MFC入门必备知识 比较简单的介绍
    • mfc教程
      mfc教程。mfc教程
    • MFC easysize
      运用该文件,可以是MFC界面部件自适应变化,满足窗体拉伸等需求变化
    • mfc学习
      这个是个学习vc的mfc编程的例子