CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

高手指教:SDI中如何动态切换视类?RUNTIME CLASS 如何用?

楼主Jedi(杰迪)2000-12-19 09:28:00 在 VC/MFC / 基础类 提问

问题点数:50、回复次数:7Top

1 楼wistaria(听风听雨)回复于 2000-12-19 09:32:00 得分 0

看看《vc技术内幕》第5版的例子   EX20CTop

2 楼Jedi(杰迪)回复于 2000-12-19 09:47:00 得分 0

我没有这本书,请您发给我如何?谢谢!jedi@sanlian.com.cn,先给30分,呵呵...余下的收到再付....再次感谢!Top

3 楼wistaria(听风听雨)回复于 2000-12-19 09:59:00 得分 35

已经发送,你先看看Top

4 楼Jedi(杰迪)回复于 2000-12-19 10:19:00 得分 0

多谢,多谢,正是我想要的,多谢!Top

5 楼sanjianxia(三剑侠)回复于 2001-07-06 16:26:24 得分 15

看下面的两个视由菜单动态切换的例子:  
  void   CMainFrame::ChangeForm(int   nForm)  
  {  
  CView   *   pOldActiveView=GetActiveView();  
  CView   *   pNewActiveView=(CView   *)GetDlgItem(nForm);  
  if   (pNewActiveView==NULL)  
  {  
  switch(nForm)  
  {  
  case   IDW_ORDER_FORM:  
  pNewActiveView   =   (CView*)new   CProdView;  
  break;  
  case   IDW_CUST_FORM:  
  pNewActiveView   =   (CView*)new   CCustView;  
  break;  
  }  
  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);  
  if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CProdView))  
  pOldActiveView->SetDlgCtrlID(IDW_ORDER_FORM);  
  else  
  if(pOldActiveView->GetRuntimeClass()==RUNTIME_CLASS(CCustView))  
  pOldActiveView->SetDlgCtrlID(IDW_CUST_FORM);  
  pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);  
  RecalcLayout();  
  }  
   
  void   CMainFrame::OnCustomer()    
  {  
  //   TODO:   Add   your   command   handler   code   here  
  if(GetActiveView()->IsKindOf(RUNTIME_CLASS(CCustView)))  
      return;  
  ChangeForm(IDW_CUST_FORM);  
   
  }  
   
  void   CMainFrame::OnUpdateCustomer(CCmdUI*   pCmdUI)    
  {  
  //   TODO:   Add   your   command   update   UI   handler   code   here  
  pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CCustView)));  
  }  
   
  void   CMainFrame::OnProduct()    
  {  
  //   TODO:   Add   your   command   handler   code   here  
          if(GetActiveView()->IsKindOf(RUNTIME_CLASS(CProdView)))  
  return;  
  ChangeForm(IDW_ORDER_FORM);  
  }  
   
  void   CMainFrame::OnUpdateProduct(CCmdUI*   pCmdUI)    
  {  
  //   TODO:   Add   your   command   update   UI   handler   code   here  
        pCmdUI->SetCheck(GetActiveView()->IsKindOf(RUNTIME_CLASS(CProdView)));  
  }  
  Top

6 楼Jedi(杰迪)回复于 2001-10-15 15:14:04 得分 0

给分拉。Top

7 楼wzaen(方雨)回复于 2001-10-15 15:54:15 得分 0

gzTop

相关问题

  • RUNTIME_CLASS?
  • RUNTIME_CLASS(......)什么用
  • 不理解 RUNTIME_CLASS
  • RUNTIME_CLASS的定义问题
  • RUNTIME_CLASS 问题请教
  • 简单问题,RUNTIME_CLASS。
  • 切换用户
  • 如何制作类似与VC界面的Class,Resource,FileView之间切换的程序
  • RUNTIME_CLASS()是什么意思呀?
  • 关于RUNTIME_CLASS()函数的问题。

关键词

  • runtime
  • null
  • pnewactiveview
  • poldactiveview
  • nform
  • idw
  • setdlgctrlid
  • cview
  • context
  • form

得分解答快速导航

  • 帖主:Jedi
  • wistaria
  • sanjianxia

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo