切分窗口切换时,出现重复切换时出错!
我做了一个切分窗口,在左面窗口有一系列按钮,欲实现点击左窗口某按钮右窗口相应变化。
采用如下方法,可以实现切换,可是却发现一个问题。
当我第二次点击左窗口中同一个按钮时,右面窗口变为空白,同时左边窗口也只剩下该按钮,其余也全部空白。如果我不重复点击某一按钮就不会出现此种现象,为什么?
下面是我采用的切换方法 :
设m_pNewView是你准备要显示的View。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
...
m_pNewView = new CYourView;
m_pNewView->Create(NULL, NULL, WS_VISIBLE|WS_CHILD, CRect(0, 0, 10, 10), this, 1000, pContext);
m_pNewView->ShowWindow(SW_HIDE);//
}
//将右边换成m_pNewView
DWORD id = m_wndSplitter.IdFromRowCol(0, 1);
CWnd *pWnd = m_wndSplitter.GetPane(0,1);
pWnd->SetDlgCtrlID(id+1);
pWnd->ShowWindow(SW_HIDE);
pWnd->SetParent(this);
pWnd->UpdateWindow();
m_pNewView->SetDlgCtrlID(id);
m_pNewView->ShowWindow(SW_SHOW);
m_pNewView->SetParent(&m_wndSplitter);
m_pNewView->UpdateWindow();