职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 388|回复: 0

MFC框架和视图的关联

[复制链接]
话说我当年 发表于 2011-9-27 09:50 | 显示全部楼层 |阅读模式
  在第一部分分析我们知道,框架和视图其实都是windows窗口,不过框架提供了菜单、标题栏、状态栏等资源,而视图则只是一个矩形区域。
b3ba5d16bcba1d1d21a4e955.jpg
         MFC程序中视图决定大多数时候要依附于一个框架(SDI中的MainFrame和MDI中的子框架窗口),可以这样理解,框架相当于一个窗口容器(当然它本身也是一个windows窗口),而视图则正好是放置在框架内客户区域的内容。
  上面已经分析到,我们看到MFC的窗口实际上框架和视图的一个结合体,我们并不一定要提供文档、视图、框架的整个体系,我们只需要框架和视图的结合即可实现窗口的显示,这就要经过两个步骤实现:第一步将视图和框架关联,第二步显示框架(也就是一个windows窗口的显示)。 以下给出框架和视图关联的具体实现:
  CChildFrame* pFrm = new CChildFrame(); //框架可以是你新建或者定制的框架类
  CCreateContext context;
  context.m_pNewViewClass = RUNTIME_CLASS(CDemoView); //视图可以是你想显示的视图
  pFrm->LoadFrame(IDR_TEST2TYPE,WS_CHILD |
  WS_OVERLAPPEDWINDOW,this,&context); //菜单资源你可以修改
  pFrm->ShowWindow(SW_SHOW); //显示窗口
  pFrm->InitialUpdateFrame(NULL,true); //调用视图的OnInitialUpdate()和框架的ActiveFrame(),你可以在这里设置窗口的标题
  当然你可以在这里添加视图和文档的关联,具体实现是添加以下代码:
  context.m_pCurrentDoc = m_pDoc; // m_pDoc就是你要关联到的文档对象
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-8 01:35 , Processed in 0.126867 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表