MFC中app doc view类区别
App类就是这个SDI作为"程序"的入口 有点像c的Main函数
document/view模式 是为了在逻辑上,让数据和显示分开。
一般在document里,定义document类的成员变量,来存数据,并用View来显示.
在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新
在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显示Document/View仅仅是MFC为你提供的一种很好的支持而已.
view类是在框架类之上,所以如果你需要实现画面显示之类的,就只能在VIEW类中响应.
基本上文档类是用于存储数据管理的类,而视图类是用来显示数据结果的类,他们一般情况下是关联的,
因为他们息息相关,一个存储、一个显示
另外 App类和Doc类都是从CCmdTarget类派生而来 ,所以只能接收 命令消息 和 控件通知消息 ,View类与Frame
框架类都是从CWnd类派生所以能够接收 命令消息 和 控件通知消息 还有 windows消息 三种消息.对于三种消息
,期响应的顺序是这样的:
首先由框架类接收到该消息,框架类将该消息递交给其子窗口View,如果View没有对该消息进行
响应,则由View递交给Doc,如果Doc也没有对该消息进行响应,那么它回再次将该消息回交给View,View
再回交给Frame框架,框架检查自己是否对该消息有相应的处理函数,如果没有则递交给 App,如果App也
没有则由Windows系统自己处理。
所以另外一个顺序问题.在doc类定义的还是会回交给view类
App类就是这个SDI作为"程序"的入口 有点像c的Main函数
document/view模式 是为了在逻辑上,让数据和显示分开。
一般在document里,定义document类的成员变量,来存数据,并用View来显示.
在document里,当成员变量的数据改变时,你可以用UpdateAllViews()来通知视图更新
在View里,用GetDocument来获取与之对应document的指针,进而可以访问document的成员变量,从而进行显示Document/View仅仅是MFC为你提供的一种很好的支持而已.
view类是在框架类之上,所以如果你需要实现画面显示之类的,就只能在VIEW类中响应.
基本上文档类是用于存储数据管理的类,而视图类是用来显示数据结果的类,他们一般情况下是关联的,
因为他们息息相关,一个存储、一个显示
另外 App类和Doc类都是从CCmdTarget类派生而来 ,所以只能接收 命令消息 和 控件通知消息 ,View类与Frame
框架类都是从CWnd类派生所以能够接收 命令消息 和 控件通知消息 还有 windows消息 三种消息.对于三种消息
,期响应的顺序是这样的:
首先由框架类接收到该消息,框架类将该消息递交给其子窗口View,如果View没有对该消息进行
响应,则由View递交给Doc,如果Doc也没有对该消息进行响应,那么它回再次将该消息回交给View,View
再回交给Frame框架,框架检查自己是否对该消息有相应的处理函数,如果没有则递交给 App,如果App也
没有则由Windows系统自己处理。
所以另外一个顺序问题.在doc类定义的还是会回交给view类