创建拆分窗口

 

 

       制作拆分窗口的步骤很简单,主要步骤如下:

1)创建多文档用于界面应用程序

2)单击3Next按钮,显示应用程序向导的第4

3)单击Advanced按钮,显示高级选项对话框

4)选择Window Style选项卡,选中Use split window复选框

5close->Finish

6)在CChildFrame类中定义两个变量

       CSplitterWnd m_wndSplitter1;

       CSplitterWnd m_wndSplitter2;

7CChildFrame::OnCreateClient( LPCREATESTRUCT /*lpcs*/,CCreateContext* pContext)函数中修改为如下代码:

{    

       CRect rc;

       GetClientRect(&rc);

//设置各个窗口的大小

       CSize Testsize(rc.Width(),rc.Height()/2);

       CSize Test2(rc.Width()/3,rc.Height()/2);

       CSize Showsize(rc.Width()/3*2,rc.Height()/2);

       if(m_wndSplitter1.CreateStatic(this,2,1)==NULL)

              return FALSE;

       m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CTestView),Testsize, pContext);

       //将第10列再分开12

       if(m_wndSplitter2.CreateStatic(&m_wndSplitter1,1,2,

              WS_CHILD|WS_VISIBLE,m_wndSplitter1.IdFromRowCol(1, 0))==NULL)

              return FALSE; 

       //CTest2类连接到第二个分栏对象的00

       m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CTest2),Test2,pContext);

       //CDV类连接到第二个分栏对象的01

    m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CDV),Showsize,pContext);

       //return CFrameWnd::OnCreateClient(lpcs, pContext);

 

       return TRUE;

}

运行之后得到如下界面

 

注:

1.CDV是插入一个dialog,其style修改为childbordernone,定义一个CDV类其基类为FormView

2.基于单文档的应用程序应当在CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,      CCreateContext* pContext)

中进行修改

3.StaticSplitter中的子窗口可以是不同类的,但DynamicSplitter中的子窗口必须是同一

类的。

 

                                                               2009-04-04

posted @ 2009-04-06 11:03  gisbingxin  阅读(310)  评论(0编辑  收藏  举报