好像View能处理的消息在MainFrame中都可以处理.为什么还要有一个View呢.

解决方案 »

  1.   

    View是MainFrame的一个子窗口,它包含了客户区
      

  2.   

    MainFrame里面应该可以直接绘制客户区和响应客户区的消息呀,还要专门加一个View是不是多此一举啊...当然我知道是我没有理解的原因...
      

  3.   

    View 视,如果不要他,那你如何用frame显示多种不同的视呢,
    当你用Document/View结构的时候,就意味着你要不同的视和
    一个Frame打交道,如果你没有这种想法,那就何必用它呢,完全
    可以不用。
      

  4.   

    是不是所有frame可以捕获的消息,View都可以捕获啊...
    如果是,那么frame没有存在的必要啊.
    如果不是,那么那些消息只能在frame中处理,而那些只能在view中处理.??
    请大哥指教.我是初学者...
      

  5.   

    比个很简单的例子,如果你要添加菜单,不要frame行吗?
    Cview没有这个功能,他的父CWnd也没有
    可是CFrameWnd有 呵呵 所以你不能离开它的
      

  6.   

    D|V结构中关系是这样的(以MDI为例):
    一个主窗口--》有多个文档--》有多个视(每个视均在一个一个子框架中,一个子框架可以含多个视)由上面关系就可以知道,MFC如何在单线程之间来处理多文档(多视图的)
    它们存在等级与依赖关系(视是依赖文档的--n:1),即如果不与框架相关的话,在视中处理,可以很容易知道当前是在编辑哪个文档的,而你在框架中就不容易知道)举一个例子吧:
    如有一个操作(由一个工具条按扭起动)---选取两个点,当在A文档中这个操作只完成了一部分(选取了一个点),在要选取第二个点时,用户转到B文档进行编辑,如果没有视的话,上面的一个操作就不能继续(能返回选取第二个点),当用户再次返回到文档时上面的操作就没了你只要在视中实现一个工具条中的按扭消息,就可以证明
      

  7.   

    呵呵
    我也来讲上几句
    如果用户单击某个菜单项,发出了一个消息,我会把处理这个消息的函数
    放在CMainFrame里面如果我要让用户点击视图中某一点,视图绘制出一个图形。
    我会把处理用户单击鼠标的消息的处理函数放在CView里面