正在加载图片...
//全局应用程序对象 CMy App theapp 输入输出:用鼠标左键可在窗口生成一系列泡泡。程序的框架窗口附有一个文件菜单, 其中包括“新建”、“打开”、“保存”和 “打印”等文档操作选项,如图121所 分析:在本程序中一共用到4 个类,即 CMy App、 CMy Wnd、 CMy View 0设置g 退出C) 和 CMyDoc,它们分别是应用程序类 CWinApp、框架窗口类 FRame Wnd、视 图类CVew和文档类 CDocument的派生 类 文档派生类 CMy Doc用于管理吹泡 泡程序的数据,即所有泡泡的包含矩形 图12-1SD结构的吹泡泡程序 由于我们无法断定用户会生成多少泡 泡,所以声明了一个数组 m rect Bubble来存放所有泡泡的包含矩形。 m rect Bubble是 CMyDoc类的私有数据成员,在类外不可见:所以要为其定义一组成员函数作为该数据成员 与外界的接口。函数 Get ListSize()用来统计数组中泡泡的个数:函数 GetBubble()用 于从数组中取一个泡泡的包含矩形:函数 Add Bubble()用于将一个泡泡的包含矩形加入数 组。由于这些成员函数都比较简单,所以采用内联函数的形式 视图派生类的 OnLButton Down()函数用于响应用户的鼠标消息, Ondraw()函数用 于在视图上输出(当然也是在框架窗口的客户区输出)。这些原来都是框架窗口类的工作, 在文档/视图结构中转移到视图类来了 由于数据放到了文档类中,消息响应和输出工作放到了视图类中,因此框架窗口类就显 得非常简洁了。 应用程序类与以前不同的是增加了三个消息响应宏,用于处理文件菜单的选项。由于这 些工作都是标准化的,所以无需重载消息响应函数 在应用程序类的 InitInstance()函数中建立了一个文档模板 在以下几节中,将根据本例详细说明文档/视图结构的程序构造 123文档/视图结构中的应用程序类 应用程序类负责唯一的全局应用程序对象的创建、初始化、运行和退出清理过程,这个 过程我们已经很熟悉了 对于文档/视图结构,要在应用程序类的 InitInstance()函数中创建一个文档模板,来 管理文档/视图结构涉及的框架窗口、文档和视图 文档模板负责在运行时创建(动态创建)文档、视图和框架窗口。一个应用程序对象可第 12 单元 文档/视图结构 - 241 - } // 全局应用程序对象 CMyApp theApp; 输入输出:用鼠标左键可在窗口生成一系列泡泡。程序的框架窗口附有一个文件菜单, 其中包括“新建”、“打开”、“保存”和 “打印”等文档操作选项,如图 12-1 所 示。 分 析:在本程序中一共用到 4 个类,即 CMyApp、CMyWnd、CMyView 和 CMyDoc,它们分别是应用程序类 CWinApp、框架窗口类 CFrameWnd、视 图类 CView 和文档类 CDocument 的派生 类。 文档派生类 CMyDoc 用于管理吹泡 泡程序的数据,即所有泡泡的包含矩形。 由于我们无法断定用户会生成多少泡 泡,所以声明了一个数组 m_rectBubble 来存放所有泡泡的包含矩形。m_rectBubble 是 CMyDoc 类的私有数据成员,在类外不可见;所以要为其定义一组成员函数作为该数据成员 与外界的接口。函数 GetListSize()用来统计数组中泡泡的个数;函数 GetBubble()用 于从数组中取一个泡泡的包含矩形;函数 AddBubble()用于将一个泡泡的包含矩形加入数 组。由于这些成员函数都比较简单,所以采用内联函数的形式。 视图派生类的 OnLButtonDown()函数用于响应用户的鼠标消息,OnDraw()函数用 于在视图上输出(当然也是在框架窗口的客户区输出)。这些原来都是框架窗口类的工作, 在文档/视图结构中转移到视图类来了。 由于数据放到了文档类中,消息响应和输出工作放到了视图类中,因此框架窗口类就显 得非常简洁了。 应用程序类与以前不同的是增加了三个消息响应宏,用于处理文件菜单的选项。由于这 些工作都是标准化的,所以无需重载消息响应函数。 在应用程序类的 InitInstance()函数中建立了一个文档模板。 在以下几节中,将根据本例详细说明文档/视图结构的程序构造。 12.3 文档/视图结构中的应用程序类 应用程序类负责唯一的全局应用程序对象的创建、初始化、运行和退出清理过程,这个 过程我们已经很熟悉了。 对于文档/视图结构,要在应用程序类的 InitInstance()函数中创建一个文档模板,来 管理文档/视图结构涉及的框架窗口、文档和视图。 文档模板负责在运行时创建(动态创建)文档、视图和框架窗口。一个应用程序对象可 图 12-1 SDI 结构的吹泡泡程序
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有