C++编程基础:面向对象与MFC Splitter Window示例

需积分: 15 1 下载量 177 浏览量 更新于2024-07-14 收藏 3.84MB PPT 举报
"Visual C++ 实用教程第3版示例——[例Ex_SplitSDI],通过MFC ClassWizard重载CMainFrame类的OnCreateClient函数,创建3x2静态窗格的拆分视图应用程序。" 在《Visual C++ 实用教程(第3版)》中,【例Ex_SplitSDI】着重讲解了如何利用Microsoft Foundation Classes (MFC)库创建具有拆分视图功能的Windows应用程序。MFC是C++的一个类库,它封装了许多Windows API,使得开发Windows程序更为便捷。 在【描述】部分,我们看到通过MFC ClassWizard为CMainFrame类添加了OnCreateClient函数的重载版本。这个函数在主框架窗口的客户区创建时被自动调用。在OnCreateClient函数中,主要任务是设置和管理拆分窗口(splitter window)。 首先,获取主框架窗口的客户区矩形(CRect rc),接着计算每个窗格的平均尺寸(CSize paneSize)。然后,使用CWnd类的CreateStatic方法创建一个静态的拆分窗口(m_wndSplitter.CreateStatic)。静态拆分窗口意味着在程序运行时,用户无法改变窗格的布局。这里创建了一个3行2列的拆分窗口。 接下来,使用CreateView方法为每个窗格指定视图类。在这个例子中,所有窗格都使用了CDemoView类。RUNTIME_CLASS宏用于传递类的运行时类信息,这允许在运行时动态创建对象。CreateView方法的参数包括窗格的行索引、列索引、视图类、窗格尺寸以及创建上下文指针(pContext)。 最后,OnCreateClient函数返回TRUE,表示成功创建了窗格。整个过程展示了如何利用MFC来构建一个多视图的界面,每个视图可以独立显示和处理数据,这对于创建复杂的用户界面非常有用。 同时,【部分内容】提到了C++的基础知识,包括程序结构、数据类型、运算符与表达式、基本语句、函数、预处理、构造类型、指针和引用等。这些是学习C++编程的基石。例如,【例Ex_Simple1】展示了一个简单的C++程序,它演示了如何定义变量、输入输出操作以及计算圆的面积。【例Ex_Simple2】通过函数调用来绘制星号组成的三角形,而【例Ex_Simple3】则使用类的概念重写了绘制星号的功能,体现了面向对象编程的思想。 这个教程结合了C++基础和MFC高级特性,帮助读者从基础到实践,逐步掌握Windows应用程序的开发技巧。