增加testgrid 工程。
使用 classwizard 菜单 实现:
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_FILE_NEW, OnFileNew)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
修改代码:
void CMainFrame::OnFileNew()
{
// TODO: Add your command handler code here
// CTestgridDoc* pdoc;
// CMultiDocTemplate* pDocTemplate;
// pdoc=(CTestgridDoc*)theApp.pDocTemplate->CreateNewDocument();
CDocTemplate* pDocTemplate;
POSITION pos = theApp.GetFirstDocTemplatePosition();
pDocTemplate = theApp.GetNextDocTemplate(pos);
ASSERT(pDocTemplate);
CTestgridDoc* pDoc =(CTestgridDoc*)pDocTemplate->CreateNewDocument();
CFrameWnd* pNewFrame = pDocTemplate->CreateNewFrame(pDoc,
(CFrameWnd*)AfxGetMainWnd());
ASSERT(pNewFrame);
pDocTemplate->InitialUpdateFrame(pNewFrame, NULL,TRUE);
CTestgridView* pWBVw = (CTestgridView*)pNewFrame->GetActiveView();//视图的指针
CFrameWnd* pFrame=pWBVw->GetParentFrame ();//子窗口的指针
}