VSWAP32 Demos Multiple-View Switching in SDI Q141334 -------------------------------------------------------------------------------- The information in this article applies to:The Microsoft Foundation Classes (MFC), used with: Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1 Microsoft Visual C++, 32-bit Enterprise Edition, version 4.2 Microsoft Visual C++, 32-bit Professional Edition, version 4.2 Microsoft Visual C++, 32-bit Enterprise Edition, version 5.0 Microsoft Visual C++, 32-bit Professional Edition, version 5.0 Microsoft Visual C++, 32-bit Enterprise Edition, version 6.0 Microsoft Visual C++, 32-bit Professional Edition, version 6.0 Microsoft Visual C++, 32-bit Learning Edition, version 6.0--------------------------------------------------------------------------------
GetActiveView(...)
SetActiveView(...)
--------------------------------------------------------------------------------
The information in this article applies to:The Microsoft Foundation Classes (MFC), used with:
Microsoft Visual C++, 32-bit Editions, versions 4.0, 4.1
Microsoft Visual C++, 32-bit Enterprise Edition, version 4.2
Microsoft Visual C++, 32-bit Professional Edition, version 4.2
Microsoft Visual C++, 32-bit Enterprise Edition, version 5.0
Microsoft Visual C++, 32-bit Professional Edition, version 5.0
Microsoft Visual C++, 32-bit Enterprise Edition, version 6.0
Microsoft Visual C++, 32-bit Professional Edition, version 6.0
Microsoft Visual C++, 32-bit Learning Edition, version 6.0--------------------------------------------------------------------------------
void CMainFrame::SwitchToView(eView nView)
{
CView* pOldActiveView = GetActiveView();
CView* pNewActiveView = (CView*) GetDlgItem(nView);
if (pNewActiveView == NULL) {
switch (nView) {
case STRING:
pNewActiveView = (CView*) new CStringView;
break;
case HEX:
pNewActiveView = (CView*) new CHexView;
break;
}
CCreateContext context;
context.m_pCurrentDoc = pOldActiveView->GetDocument();
pNewActiveView->Create(NULL, NULL, WS_BORDER,
CFrameWnd::rectDefault, this, nView, &context);
pNewActiveView->OnInitialUpdate();
}
SetActiveView(pNewActiveView);
pNewActiveView->ShowWindow(SW_SHOW);
pOldActiveView->ShowWindow(SW_HIDE);
pOldActiveView->SetDlgCtrlID(
pOldActiveView->GetRuntimeClass() ==
RUNTIME_CLASS(CStringView) ? STRING : HEX);
pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
RecalcLayout();
}