使用MFC创建一个分隔的窗口的步骤

来源:互联网 发布:c语言逻辑或半运算 编辑:程序博客网 时间:2024/05/29 07:18

使用MFC创建一个分隔的窗口的方法是使用CSplitterWnd类,调用CSpitterWnd::CreateStatic()函数创建分隔窗口,通过CSpitterWnd::CreateView()为分隔的每一个窗口制定一个View类的视图。

本例创建一个左1右2的分隔窗口程序,具体的步骤如下:

1、新建一个单文档应用程序SpitterWndDemo。

2、在“MainFrm.h”(主框窗口类的头文件)中加入:

CSplitterWnd m_splitterWnd1;CSplitterWnd m_splitterWnd2;

3、新建两个继承自CView类的自定义类如CLeftView和CRootView。

4、在CMainFrame类里重写一个虚拟函数BOOL CMainFrame::OnCreateClient()

if (!m_splitterWnd1.CreateStatic(this, 1, 2))return FALSE;if (!m_splitterWnd1.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(100, 100), pContext)){m_splitterWnd1.DestroyWindow();return FALSE;}if (!m_splitterWnd2.CreateStatic(&m_splitterWnd1, 2, 1,WS_CHILD|WS_VISIBLE,m_splitterWnd1.IdFromRowCol(0,1)))return FALSE;if (!m_splitterWnd2.CreateView(0, 0, RUNTIME_CLASS(CSpilterWndDemo3View), CSize(100, 300), pContext) ||!m_splitterWnd2.CreateView(1, 0, RUNTIME_CLASS(CRootView), CSize(100, 100), pContext)){m_splitterWnd2.DestroyWindow();return FALSE;}//return CFrameWnd::OnCreateClient(lpcs, pContext);return TRUE;

注意要将自带的return CFrameWnd::OnCreateClient(lpcs, pContext);注释起来,后面加上return TRUE;

5、编译运行后


原创粉丝点击