7.4 视图分割
教学录像:光盘\TM\lx\7\视图分割.exe
在文档/视图结构中,视图用来显示文档中的数据,也可对视图进行分割,从而使视图显示不同的信息,并且可以在视图中嵌入控件,进行更多的操作。
7.4.1 简单视图分割
通过CSplitterWnd类可以实现视图分割,当改变分割窗口的大小时,窗口的客户区将自动重新绘制。首先调用CreateStatic方法创建静态分割的窗体。
语法格式如下:
BOOL CreateStatic( CWnd* pParentWnd, |
CreateStatic方法中的参数说明如表7.1所示。
表7.1 CreateStatic方法中的参数说明
|
参 数< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
描 述 |
|
pParentWnd |
分割窗体的父窗体对象,一般为框架窗体对象 |
|
nRows |
分割窗体的行数,该值不能超过16 |
|
nCols |
分割窗体的列数,该值不能超过16 |
|
dwStyle |
设置分割后窗体的样式 |
|
nID |
设置被创建对象所使用的资源ID值 |
然后调用CreateView方法创建子视图。
语法格式如下:
virtual BOOL CreateView( int row, int col, |
CreateView方法中的参数说明如表7.2所示。
表7.2 CreateView方法中的参数说明
|
参 数 |
描 述 |
|
row |
子视图所在行 |
|
col |
子视图所在列 |
|
pViewClass |
新视图的CRuntimeClass对象 |
|
sizeInit |
指定新视图的初始大小 |
|
pContext |
指向CCreateContext结构的指针 |
例7.2 下面通过实例来实现简单视图分割。(实例位置:光盘\TM\sl\7\2)
步骤如下:
(1)创建一个单文档应用程序。
(2)在框架类的头文件中声明CSplitterWnd类对象m_wndSplitter。
(3)重载框架类的OnCreateClient虚方法,在该方法中分割视图窗口。代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT |
|
| 图7.10 简单视图分割 |
| 回书目 上一节 下一节 |
