请问MFC中VIEW类和DOC类如何区别
答案:6 悬赏:0
解决时间 2021-01-09 02:31
- 提问者网友:刺鸟
- 2021-01-08 11:52
请问MFC中VIEW类和DOC类如何区别
最佳答案
- 二级知识专家网友:梦中风几里
- 2021-01-08 11:59
可以参考MSDN里面的MFCIE示例
并且看看侯捷的深入浅出mfc。。。
谢谢!```
document/view模式 是为了在逻辑上,让数据和显示分开。
一般在document里,定义document类的成员变量,来存数据,并用View来显示.
在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新
在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显示Document/View仅仅是MFC为你提供的一种很好的支持而已.
并且看看侯捷的深入浅出mfc。。。
谢谢!```
document/view模式 是为了在逻辑上,让数据和显示分开。
一般在document里,定义document类的成员变量,来存数据,并用View来显示.
在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新
在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显示Document/View仅仅是MFC为你提供的一种很好的支持而已.
全部回答
- 1楼网友:封刀令
- 2021-01-08 14:56
doc是文档。view是视图。怎么说呢。一般先写文档内的代码。要显示的绘制的写再view里。
- 2楼网友:夜余生
- 2021-01-08 14:22
都可以的,但是有个先后顺序,就是先执行view中的方法,再执行doc中的方法
- 3楼网友:枭雄戏美人
- 2021-01-08 14:05
VC讲的是可视化编程,你想让大家看见的东西就在VIEW中写,不想让大家知道的后台处理就写在DOC中,简单的说就这样 呵呵
- 4楼网友:走死在岁月里
- 2021-01-08 13:14
view类是在框架类之上,所以如果你需要实现画面显示之类的,就只能在VIEW类中响应.
基本上文档类是用于存储数据管理的类,而视图类是用来显示数据结果的类,他们一般情况下是关联的,因为他们息息相关,一个存储、一个显示
另外App类和Doc类都是从CCmdTarget类派生而来,所以只能接收命令消息和控件通知消息,View类与Frame框架类都是从CWnd类派生所以能够接收命令消息和控件通知消息还有windows消息三种消息.对于三种消息,期响应的顺序是这样的:
首先由框架类接收到该消息,框架类将该消息递交给其子窗口View,如果View没有对该消息进行响应,则由View递交给Doc,如果Doc也没有对该消息进行响应,那么它回再次将该消息回交给View,View再回交给Frame框架,框架检查自己是否对该消息有相应的处理函数,如果没有则递交给App,如果App也没有则由Windows系统自己处理。
所以另外一个顺序问题.在doc类定义的还是会回交给view类
希望我的答案对你能有所帮助
基本上文档类是用于存储数据管理的类,而视图类是用来显示数据结果的类,他们一般情况下是关联的,因为他们息息相关,一个存储、一个显示
另外App类和Doc类都是从CCmdTarget类派生而来,所以只能接收命令消息和控件通知消息,View类与Frame框架类都是从CWnd类派生所以能够接收命令消息和控件通知消息还有windows消息三种消息.对于三种消息,期响应的顺序是这样的:
首先由框架类接收到该消息,框架类将该消息递交给其子窗口View,如果View没有对该消息进行响应,则由View递交给Doc,如果Doc也没有对该消息进行响应,那么它回再次将该消息回交给View,View再回交给Frame框架,框架检查自己是否对该消息有相应的处理函数,如果没有则递交给App,如果App也没有则由Windows系统自己处理。
所以另外一个顺序问题.在doc类定义的还是会回交给view类
希望我的答案对你能有所帮助
- 5楼网友:从此江山别
- 2021-01-08 12:54
顾名思义,View类是用来做前台显示,Doc类负责数据的处理,在View类进行绘制或者显示的时候是需要数据的,那么这些数据需要一个管理者--他就是Doc类。
你所说的按钮编辑,看实现什么逻辑,如果是对显示操作,比如是否显示列表等,在View类里实现,如果对数据的处理,比如操作链表数据,那么在Doc类里面处理。
你所说的按钮编辑,看实现什么逻辑,如果是对显示操作,比如是否显示列表等,在View类里实现,如果对数据的处理,比如操作链表数据,那么在Doc类里面处理。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |