手动创建CView视图
通过VC2010向导创建一个标准的MFC单文档框架,去掉文档/视图结构支持。然后,在资源中插入一个FormView窗口,在MainFrame的Create中创建并显示此视图窗口。
intCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct){if(CFrameWnd::OnCreate(lpCreateStruct)==-1)return-1;pView=(CMainView*)(RUNTIME_CLASS(CMainView)->CreateObject());if(!pView){MessageBox(_T("创建视图不成功!"));return0;}CRectcrt;CCreateContextCnt;GetClientRect(crt);Cnt.m_pCurrentDoc=NULL;//GetDocument();//创建新添加的视图,资源ID为:IDD_FORMVIEWpView->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW,crt,this,IDD_FORMVIEW,&Cnt);pView->ShowWindow(SW_SHOWNORMAL);pView->MoveWindow(&crt);//----------------------------------------------------------------------if(!m_wndStatusBar.Create(this)){TRACE0("未能创建状态栏\n");return-1;//未能创建}m_wndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));return0;}
去掉视图窗口下凹风格,如下图:
BOOLCMainView::PreCreateWindow(CREATESTRUCT&cs){//TODO:在此添加专用代码和/或调用基类cs.style&=~WS_BORDER;/*去除视图凹陷效果*/returnCFormView::PreCreateWindow(cs);}
注意,修改MainFrame中的OnCmdMsg,OnSetFocus函数中的视图变量
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。