MFC中的 Document / View 结构的使用 <转载+自己总结,MFC中的MVC>

1、某Document派生类(AD) 和 某 View派生类(BV) 的绑定 ! <这里是完成了类与类的绑定,以便 CDocManager类和CDocTemplate类管理,但是AD类的对象和BV类的对象是不是一一对应绑定的呢?>  <一个文档对象可以和多个视类对象关联,而一个视类对象只能和一个文档对像相关联>

 

2、将数据存入Document派生类 中,作为Document派生类的数据成员。然后重载本类的 Serialize函数,完成本类对象的读写磁盘操作

 

3、使用BV类的某个对象显示AD类的某个对象。      <这两个类的对象间的绑定是如何操作的呢?>

 

4、当某个AD类的某对象数据发生改变了后,调用 CDocument::SetModifiedFlag  函数 ,显示本AD类对象的数据发生了改变。   <这里仅仅是一个提示作用吗?>。在AD类中将BV类声明为友元类,这样BV类就可以访问AD类的私有数据成员

 

5、当某AD类对象数据发生改变后,通常在调用CDocument::SetModifiedFlag 函数后,会调用 CDocument::UpdateAllViews 函数,这个函数会促使与本文档绑定的VIEW窗口调用CView::OnUpdate  函数,并完成函数间传参。

 

6、CView::OnUpdate  函数。,被CDocument::UpdateAllViews 和 CView::OnInitialUpdate  这两个函数触发。 让VIEW窗口完成更新。CView::OnUpdate 被这两个函数触发的途径不是通过消息,所以效率相对消息触发高一些。当然,也可以通过Invalidate来触发,这个效率低 

 

7、使用CView::GetDocument 函数获取与本VIEW类绑定的document对象的指针。

 

 

 


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值