SDI С несколькими представлениями
Добавлено: 04 ноя 2007, 23:47
Я создал SDI приложение и хочу использовать несколько представлений.
Я написал следующий код.
Все заработало, но когда я меняю представление с CView1 на CView2 или наоборот, и после этого нажимаю на кнопку «Новый документ» появляется ошибка.
Я думаю что это из-за
Но не могу понять как мне создать приложение с несколькими окнами представления
Я написал следующий код.
Код: Выделить всё
CMainFrame::OnViewSwitch()
{
CDocument * pDoc=GetActiveDocument();
CView * pCurrView=GetActiveView();
CView * pNewView;
If(CheckView)
{
pNewView=(CView *)new CView1;
CheckView=0;
}
Else
{
pNewView=(CView *)new CView2;
CheckView=1;
}
pNewView->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
rectDefault,
this, AFX_IDW_PANE_FIRST, NULL);
pNewView->ShowWindow(SW_SHOW);
pCurrView->ShowWindow(SW_HIDE);
pDoc->AddView(pNewView);
pDoc->RemoveView(pCurrView);
SetActiveView(pNewView);
pNewView->OnInitialUpdate();
RecalcLayout();
}
Я думаю что это из-за
Код: Выделить всё
CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CDisertaciyaDoc),
RUNTIME_CLASS(CMainFrame), // main SDI frame window
RUNTIME_CLASS(CView1));
AddDocTemplate(pDocTemplate);