在一个SDI程序中 我需要点击一下视图A的一个按钮 就切换到视图B
我原本的做法是在试图A中加上一个响应函数。在这个响应函数中调用CSplitterWnd的deleteView 和creatView
愿意想进行试图的切换
可是发现creatView后使用getpan寻找这个VIew返回的空值。
思考了一下上面的代码 在视图A中调用函数来销毁视图A 感觉这个步骤是导致错误的原因。
那应该怎样实现这个功能呢? 还是有什么其他的错误?分少见谅
我原本的做法是在试图A中加上一个响应函数。在这个响应函数中调用CSplitterWnd的deleteView 和creatView
愿意想进行试图的切换
可是发现creatView后使用getpan寻找这个VIew返回的空值。
思考了一下上面的代码 在视图A中调用函数来销毁视图A 感觉这个步骤是导致错误的原因。
那应该怎样实现这个功能呢? 还是有什么其他的错误?分少见谅
。 DWORD id = m_wndSplitter3.IdFromRowCol(0, 0);
CWnd *pWnd = m_wndSplitter3.GetPane(0,0);
pWnd->SetDlgCtrlID(id+1);
pWnd->ShowWindow(SW_HIDE);
pWnd->SetParent(this);
pWnd->UpdateWindow();
if(nDownViewType%2 == 0)
{
m_pShowRevBuf->SetDlgCtrlID(id);
m_pShowRevBuf->ShowWindow(SW_SHOW);
m_pShowRevBuf->SetParent(&m_wndSplitter3);
m_pShowRevBuf->UpdateWindow();
}
if(nDownViewType%2 == 1)
{
m_pOutPut->SetDlgCtrlID(id);
m_pOutPut->ShowWindow(SW_SHOW);
m_pOutPut->SetParent(&m_wndSplitter3);
m_pOutPut->UpdateWindow();
}
m_wndSplitter3.SetActivePane(0, 0);
m_wndSplitter3.RecalcLayout();
nDownViewType++;