zoukankan      html  css  js  c++  java
  • MFC文档视图中窗口切换 (2012-05-11 18:32:48)

    在文档试图应用程序,有时需要在工作区切换试图,以下就是如何切换试图了
    1.创建要切换的视图类,同时把构造函数,Create函数改变为public
    2.在需要切换试图的动作响应中,加入切换代码,一般是在CMainFrame的菜单响应中加:
    void CMainFrame::On32771()
    {
     // TODO: Add your command handler code here
     CView *pOldActiveView=GetActiveView();//旧视图
     CMyView *pNewActiveView=new CMyView();//要切换的视图
     CCreateContext context;
     context.m_pCurrentDoc=pOldActiveView->GetDocument();//关联到文档.为什么,文档视图,MFC中每个视图要对应一个文档
     //创建视图并且关联到上下文中,IDD_MYVIEW为视图CMyView的ID号
     pNewActiveView->Create(NULL,NULL,WS_CHILD | WS_BORDER,CFrameWnd::rectDefault,this,IDD_MYVIEW,&context);
     pNewActiveView->UpdateData();
     //视图显示/隐藏
     SetActiveView(pNewActiveView);
     pNewActiveView->ShowWindow(SW_SHOW);
     pOldActiveView->ShowWindow(SW_HIDE);
     
     //重新布局主框架
     pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
     RecalcLayout();
     delete pOldActiveView;
    }
    3.想要切换回去,一样:
     CMyView *pOldActiveView=(CMyView *)GetActiveView();//旧视图
     CChangeViewView *pNewActiveView=new CChangeViewView();//要切换的视图
     CCreateContext context;
     context.m_pCurrentDoc=pOldActiveView->GetDocument();//关联到文档.为什么,文档视图,MFC中每个视图要对应一个文档
     //创建视图并且关联到上下文中,IDD_MYVIEW为视图CMyView的ID号
     pNewActiveView->Create(NULL,NULL,WS_CHILD | WS_BORDER,CFrameWnd::rectDefault,this,IDD_MYVIEW,&context);
     pNewActiveView->UpdateData();
     //视图显示/隐藏
     SetActiveView(pNewActiveView);
     pNewActiveView->ShowWindow(SW_SHOW);
     pOldActiveView->ShowWindow(SW_HIDE);
     
     //重新布局主框架
     pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
     RecalcLayout();
     delete pOldActiveView;
    
    运行即可实现视图切换
  • 相关阅读:
    关于C#的委托与事件的重新认识
    linux 下添加,修改,删除路由
    反射获取程序集的信息
    原创:2016.4.252016.5.1 C# informal essay and tittle_tattle
    原创:C sharp 中 Enum的几点小 Tips
    转:Dictionary<int,string>怎么获取它的值的集合?急!急!急!
    转:C#整数三种强制类型转换int、Convert.ToInt32()、int.Parse()的区别
    转:C#: static关键字的作用
    新博客 Fighting
    Win10系统下在国内访问Tensorflow官网
  • 原文地址:https://www.cnblogs.com/chenzuoyou/p/3214393.html
Copyright © 2011-2022 走看看