Ogre学习笔记(三)OgreMFC 单文档分割窗口
2012-08-25 16:52
267 查看
本文地址:/article/11332343.html
版权所有:simplezju, 转载请注明出处。使用方法:利用CSplitterWnd 对建立好的单文档应用程序分割窗口,目的:将窗口分成左一右二,三个窗口矩形
提示:用CSplitterWnd类来切分窗口,调用成员函数CreateStatic来完成静态的切分,调用成员函数CreateView创建切分窗口窗格。让两个视类分别响应WM_CREATE消息,在窗口创建之后,调用SetClassLong函数来设置光标。
步骤:
(1) 在我们之前创立好的OgreMFC单文档应用程序中继续进行;
(2) 打开类视图,为CMainFrame添加两个公有成员变量,类型为CSplitterWnd,变量名为m_wndSplitter。
public:
CSplitterWnd m_wndSplitter;
CSplitterWnd m_wndSplitter2;
然后为CmainFrame添加虚函数OnCreateClient的实现,在此函数中完成静态切分窗口。程序代码如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_wndSplitter.CreateStatic(this,1,2,WS_CHILD |WS_VISIBLE|WS_BORDER);
m_wndSplitter2.CreateStatic(&m_wndSplitter,2,1,WS_CHILD|WS_VISIBLE,m_wndSplitter. IdFromRowCol(0,1));
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(COgreMFCView),CSize(800,250),pContext);
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CleftView),CSize(100,100),pContext);
m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CLeftBottomView),CSize(100,150),pContext);
return 1;
}
说明:此函数中已经删除原有的OnCreateClient函数中的返回基类的OnCreateClient函数的语句。
(3) 利用【Insert| New Class...】菜单项为工程添加一个新的类。
确保Class type中选择的是MFC class,在对话框的Name对话框中输入CRightTopView,并在Base class下拉列表中指定基类为CEditView。打开OnCreateClient函数,修改创建第一个窗格的代码如下:
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CRightTopView),CSize(450,250),pContext);
(4) 因为在CmainFrame类中用到了两个视类,所以在CmainFrame的源文件中加入代码如下:
#include "OgreMFCDoc.h"
#include "OgreMFCView.h"
#include "RightTopView.h"
(5) 分别为两个视类响应WM_CREATE消息
在CleftView类的OnCreate函数中,输入代码如下:
SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)::LoadCursor(NULL,IDC_HELP));
在CTwoViewView类的OnCreate函数中,输入代码如下:
SetClassLong(m_hWnd,GCL_HCURSOR,(LONG)::LoadCursor(NULL,IDC_NO));
(6) 编辑并运行程序,观察运行结果。
相关文章推荐
- vc6.0 MFC 单文档 静态分割窗口 --learn 3
- MFC单文档的窗口分割
- MFC基于单文档分割视图后子窗口点击编辑框获得相应的操作
- vc6.0 MFC 单文档 静态分割窗口
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
- CSplitterWnd类分割MFC单文档应用程序窗口
- MFC基于单文档分割窗口
- vc6.0 MFC 单文档 静态分割窗口
- MFC 多文档程序分割窗口
- MFC单文档分割窗口
- 在线等:使用MFC单文档将窗口分割成一行两列
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- MFC单文档-窗口分割
- vc6.0 MFC 单文档 静态分割窗口
- vc6.0 MFC 单文档 静态分割窗口
- VS2013/MFC编程入门之三十八(文档、视图和框架:分割窗口)
- (转载)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
- 【数字图像处理】 二.MFC单文档分割窗口显示图片
- MFC多文档窗口的静态分割和坐标轴的绘制