下面这个函数可以动态切换窗体,但其中有一个地方不明白:每次切换都要NEW一个对象,是在什么时候释放的?如果没释放是不是这段代码有BUG?void CMainFrame::SwitchToForm(int nForm)
{
CView* pOldActiveView = GetActiveView();
CView* pNewActiveView = (CView*) GetDlgItem(nForm);
if (pNewActiveView == NULL) 
{
if (nForm == IDD_SWITCHFORM_FORM) //每次这里都new,但不见有delete?
pNewActiveView = (CView*)new CSwitchFormView;
if (nForm == IDD_NEXTFORM)
pNewActiveView = (CView*)new CNextFormView;
CCreateContext context;
context.m_pCurrentDoc = pOldActiveView->GetDocument();
pNewActiveView->Create(NULL,NULL,0L, CFrameWnd::rectDefault, this,nForm,&context);
pNewActiveView->OnInitialUpdate(); 
}
SetActiveView(pNewActiveView); 
pNewActiveView->ShowWindow(SW_SHOW); 
pOldActiveView->ShowWindow(SW_HIDE); 
int ID; 
if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CSwitchFormView)) 
ID=IDD_SWITCHFORM_FORM; 
if(pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CNextFormView)) 
ID=IDD_NEXTFORM;
pOldActiveView->SetDlgCtrlID(ID); 
pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST); 
RecalcLayout();
}