MFC分割窗口的实现
2014-05-09 16:02
176 查看
新建一个单文档的MFC工程。
新建两个对话框,用于分割窗口,对话框的Style属性改为Child,Border属性改为None,最开始没有改这个,程序运行的时候报错了。
将两个对话框生成从CFormView派生的类。
在CMainFrame中添加两个成员变量,类型为CSplitterWnd,如下所示
CSplitterWnd m_splitterWnd1;// IDD_DLG_1
CSplitterWnd m_splitterWnd2;// IDD_DLG_2
添加虚函数virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
程序代码修改部分如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
//创建一个静态分栏窗口,分为一行二列
if(m_splitterWnd1.CreateStatic(this,1,2)==NULL)
return FALSE;
//将CCSplitterWndView连接到0行0列窗格上
m_splitterWnd1.CreateView(0,0,RUNTIME_CLASS(CsplitterwndView),CSize(600,500), pContext);
if(m_splitterWnd2.CreateStatic(&m_splitterWnd1,2,1,WS_CHILD|WS_VISIBLE,
m_splitterWnd1.IdFromRowCol(0, 1))==NULL)
return FALSE; //将第0行1列再分开2行1列
//将FormView1类连接到第二个分栏对象的0行0列
m_splitterWnd2.CreateView(0,0,RUNTIME_CLASS(CForm1),CSize(200,300),pContext);
//将FormView2类连接到第二个分栏对象的1行0列
m_splitterWnd2.CreateView(1,0,RUNTIME_CLASS(CForm2),CSize(200,200),pContext);
return TRUE;
}
运行效果图如下(建立工程时采用的是office2007的风格):
新建两个对话框,用于分割窗口,对话框的Style属性改为Child,Border属性改为None,最开始没有改这个,程序运行的时候报错了。
将两个对话框生成从CFormView派生的类。
在CMainFrame中添加两个成员变量,类型为CSplitterWnd,如下所示
CSplitterWnd m_splitterWnd1;// IDD_DLG_1
CSplitterWnd m_splitterWnd2;// IDD_DLG_2
添加虚函数virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
程序代码修改部分如下:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
//创建一个静态分栏窗口,分为一行二列
if(m_splitterWnd1.CreateStatic(this,1,2)==NULL)
return FALSE;
//将CCSplitterWndView连接到0行0列窗格上
m_splitterWnd1.CreateView(0,0,RUNTIME_CLASS(CsplitterwndView),CSize(600,500), pContext);
if(m_splitterWnd2.CreateStatic(&m_splitterWnd1,2,1,WS_CHILD|WS_VISIBLE,
m_splitterWnd1.IdFromRowCol(0, 1))==NULL)
return FALSE; //将第0行1列再分开2行1列
//将FormView1类连接到第二个分栏对象的0行0列
m_splitterWnd2.CreateView(0,0,RUNTIME_CLASS(CForm1),CSize(200,300),pContext);
//将FormView2类连接到第二个分栏对象的1行0列
m_splitterWnd2.CreateView(1,0,RUNTIME_CLASS(CForm2),CSize(200,200),pContext);
return TRUE;
}
运行效果图如下(建立工程时采用的是office2007的风格):
相关文章推荐
- 一个MFC小程序界面的实现思路(窗口分割)
- MFC实现窗口的任意分割——分割窗口
- 基于对话框的MFC项目实现窗口分割
- MFC的窗口分割的设计与实现
- MFC分割窗口的实现
- MFC程序实现窗口分割,视图快捷插入控件和插入列表
- MFC的窗口分割的设计与实现
- MFC 实现分割窗口
- MFC的窗口分割的设计与实现
- MFC下窗口分割和文字输出的实现
- VS2010 MFC中 窗口分割的实现
- MFC的窗口分割的设计与实现以及CSplitterWnd 类分析
- 使用VC6.0实现窗口的任意分割
- MFC 多文档程序分割窗口
- [VC/MFC]一条语句实现程序运行时隐藏窗口
- MFC分割窗口后如何去掉子窗口滚动条
- VC++ 实现 窗口最小化 MFC
- VS2005 实现单文档中的窗口分割(SDI with split window)
- MFC中主窗口显示前启动窗口的实现
- MFC使用CSplitterWnd分割窗口并在切分条增加按钮