}
BEGIN_MESSAGE_MAP(CMyView,CView)
ON_COMMAND(ID_test,OnTest)
END_MESSAGE_MAP()
void CMyView::OnDraw( CDC* pDC )
{
pDC->TextOut(10,10,"Hello split");
}
IMPLEMENT_DYNCREATE(CMyView,CView)
//框架窗口类
class CSplitApp:public CWinApp
{
public:
BOOL InitInstance();
};
CSplitApp theApp;
class CSplitFrame:public CFrameWnd
{
public:
virtual BOOL OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext );
CSplitterWnd m_wndSplit;
CSplitterWnd m_wndSplit2;//在静态切分1上再切分.
};
/*
//动态切分
BOOL CSplitFrame::OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext )
{
//指定窗口切分使用的视图类
CCreateContext cxt;
cxt.m_pNewViewClass=RUNTIME_CLASS(CMyView);
//创建动态切分窗口
m_wndSplit.Create(this,2,2,CSize(20,20),&cxt);
return TRUE;
}
*/
//静态切分
BOOL CSplitFrame::OnCreateClient( LPCREATESTRUCT lpcs, CCreateContext* pContext )
{
//创建静态切分窗口的个数1行2列
m_wndSplit.CreateStatic(this,1,2);
//把第2列再分成2行
m_wndSplit2.CreateStatic(&m_wndSplit,2,1,WS_CHILD|WS_VISIBLE,
m_wndSplit.IdFromRowCol(0,1));
//分别为每个窗口创建视图
m_wndSplit2.CreateView(0,0,RUNTIME_CLASS(CMyView),CSize(200,200),pContext);
m_wndSplit2.CreateView(1,0,RUNTIME_CLASS(CMyView),CSize(200,200),pContext);
////#include
m_wndSplit.CreateView(0,0,RUNTIME_CLASS(CHtmlView),CSize(200,200),pContext);
//获取视图对象
CHtmlView* pView= (CHtmlView*)m_wndSplit.GetPane(0,0);
////m_pViewActive=pView;
m_wndSplit2.SetActivePane(0,0);//设置活动视图(为了激活菜单)
pView->Navigate("D:\\");//网址或文件夹路径都可以
//设置分割条位置
m_wndSplit.SetColumnInfo(0,200,1);//左边宽度
m_wndSplit2.SetRowInfo(0,150,1);//上边高度
return TRUE;
}
BOOL CSplitApp::InitInstance()
{
CSplitFrame *pFrame=new CSplitFrame;
m_pMainWnd=pFrame;
//pFrame->Create(NULL,"Split");
pFrame->LoadFrame(IDR_MAINFRAME);//IDR_MAINFRAME为菜单资源ID
pFrame->ShowWindow(SW_SHOW);
pFrame->UpdateWindow();
return TRUE;
}
|