splitter分割后动态切换视图的问题(急在线等待)
我在sdi文档中的CMainFrm定义了splitter1,和splitter2。具体代码如下
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
CRect rect;
GetClientRect(rect);
if(!m_wndSplitter.CreateStatic(this,1,2))
return FALSE;
if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CLeftView),CSize(100,100), pContext))
{
m_wndSplitter.DestroyWindow();
return FALSE;
}
m_wndSplitter.SetColumnInfo(0, 150, 0);
if (!m_wndSplitter1.CreateStatic(&m_wndSplitter, 2, 1, WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 1)))
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
if (!m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CSqlView), CSize(0, 500), pContext))
{
TRACE0("Failed to create second pane\n");
return FALSE;
}
if (!m_wndSplitter1.CreateView(1, 0, RUNTIME_CLASS(FtpView), CSize(0, 0), pContext))
{
TRACE0("Failed to create third pane\n");
return FALSE;
}
return TRUE;
}
我想让m_wndSplitter1.getpane(0,0)中的视图动态切换到其他视图如CFormView1,CFormView3,CFormView3。
void CSqlView::OnButton1()
{
CMainFrame * mf =(CMainFrame *)this->GetParent()->GetParent();
if(mf->m_wndSplitter1.GetPane(0,0))
{
mf->m_wndSplitter1.DeleteView(0,0);
mf->m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(CFormView3), CSize(100, 100), NULL);
mf->m_wndSplitter1.RecalcLayout();
}
}
这样为什么不行阿。
请高手指点。