《Visual C++技术内幕》学习笔记——文档视图结构

文档视图结构是MFC最重要的一个构架。

    视图窗口被嵌在了另外一种窗口——应用程序的主框架窗口中,主框架类是由CFrameWnd派生来的,文档类是由CDocument派生出来的。
    每一个菜单项都有一个ID与之相联系,这些ID都被定义在resource.h文件中。
    命令消息也可以通过调用CWnd::SendMessage或PostMessage函数来进行发送,每一个消息都相应地有一个用于标识的#define常量,这些常量常常是通过资源编辑器来指定的。(消息机制也是Windows程序设计的核心之一)
    消息的传递顺序:SDI:视图-文档-SDI主框架窗口-应用程序。MDI:视图-文档-MDI子框架窗口-MDI主框架窗口-应用程序。

    MFC文本编辑选择
    Windows提供了两种文本编辑工具: 
    (1)CEditView:文本大小限制在64K以内,不能设置混和字体。(AppWizard中选择试图类基类为CEditView即可) 
    (2)CRichEditView。支持混和字体和大量数据文本。 

    (a)数据存放问题
    数据保存在文档类中,视图类若要使用文档类的数据则可以在任何视图类下的函数中使用指向文档类的指针:
        void CxxView::FuncName( )
        {
            CxxDoc * pDoc = GetDocument( );
            pDoc->....
        } 

    (b)视图中生成控件问题
    把该控件类的一个对象加入到视图类中,映射视图类的WM_CREATE消息,在消息响应函数中调用该对象的Create函数。 

    (c)WM_SIZE 和 WM_SIZING 消息
    当视图的初始大小确定后和每次用户改变了框架的大小后,Windows都会发送WM_SIZE消息给视图。而WM_SIZING消息则是在用户正在改变窗口大小的时候发送的。 

    (d)改变应用程序标题
    在CxxApp类的初始化函数中调用指向主框架的指针的SetWindowText( )函数。
posted @ 2005-05-14 01:14  刀刀  阅读(785)  评论(0)    收藏  举报