用向导创建的框架,默认视图是激活的。但是如果对Create重载,建立了CMyView的子视图后,CView视图就是非活动状态了。
非活动的视图CView有以下几个方面的影响:
1.在CView类中响应菜单的按钮,菜单按钮状态是灰色的
2.在CFrameWnd类中GetActiveView的视图句柄为空
激活视图有以下几个方法:
1.运行软件后,单击视图
2.不对Create进行重载,创建CView子视图的代码放到OnInitialUpdate函数中,OnSize设置子视图的位置
3.手动激活CView,CMainFrame* pMainFrame = (CMainFrame*)theApp.GetMainWnd();pMainFrame->SetActiveView(this);