CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

类似OutLook的界面,如何对右侧的视图进行生成和切换?请大家帮忙!

楼主vcstorm(日有所得)2004-12-01 10:55:00 在 VC/MFC / 基础类 提问

VC6单文档程序  
   
  分割了窗口,左侧放了一个GfxOutBarCtrl   Wnd,右侧是一个FormView(想嵌入几个对话框)  
   
  我现在已经用GfxOutBarCtrl生成了左侧的切换条,现在想点击不同的子项,在右侧的FormView中切换不同的对话框进行显示。请问该如何处理? 问题点数:100、回复次数:13Top

1 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-01 11:06:06 得分 5

VC6单文档程序!?  
  ========  
  单文档多视图切换!Top

2 楼kingzai(stevenzhu)回复于 2004-12-01 11:16:28 得分 5

1,in   CFormView   init   funciton   create   all   dialog,and   show   one   dialog,hide   other.  
  2,when   click   diffrent   tab,then   post   a   message   include   params   to   CFormView,when   CFormView   receive   message,it   show   the   dialog   and   hide   other.Top

3 楼fengqinggao(风清高)回复于 2004-12-01 11:19:02 得分 20

我的步骤:  
  1、在CMainFrame类的OnCreate()函数结束时利用CreateView()等函数创建你所需要的View;你想要界个对话框,就创建几个View,其对应关系由CreateView()函数的参数决定;保存所有View的句柄作为CMainFrame的类成员变量(指针);  
  2、当你在GfxOutBarCtrl中选择不同的节点时,将对应节点的View显示出来(ShowWindow(SW_SHOW)),其他View都隐藏(ShowWindow(SW_HIDE))就可以了Top

4 楼fengqinggao(风清高)回复于 2004-12-01 11:21:44 得分 0

上面第二步的各View的指针,是通过CMainFrame类获得的,然后View的指针进行操作(显示或隐藏)Top

5 楼vcstorm(日有所得)回复于 2004-12-01 11:31:38 得分 0

感谢大家的回答!  
   
  回复   vcleaner(我没做大哥已经很久了.......)   的疑问:  
  就象   Norton   antiVirus企业版那样的界面,在左侧点击后,在右侧显示不同的对话框模板,不是弹出对话框。Top

6 楼chuanke((C ) 2005【空间代数】. All rights reserved .)回复于 2004-12-01 12:21:50 得分 10

提示你用TreePropSheet这个Top

7 楼vcleaner(我没当大哥很久了.......)回复于 2004-12-01 12:28:45 得分 0

ShowWindow,当然要使用不同的对话框模板了!Top

8 楼jiangsheng(蒋晟.Net[MVP])回复于 2004-12-01 12:33:20 得分 30

如果SDI用多个View的话可以参考http://support.microsoft.com/support/kb/articles/q141/3/34.asp  
  Norton那个是用DHTML和浏览器控件做的界面,不是通过这种方式实现的。Top

9 楼muroachanf(阿远之哈儿)回复于 2004-12-01 12:43:58 得分 5

路过........Top

10 楼whwjn(哈哈)回复于 2004-12-01 12:46:51 得分 20

在CMainFrame::OnCreateClient里面创建一个分割视图,右边是从CFrameWnd派生的框架类CRightPaneFrame,然后在CRightPaneFrame::OnCreateClient创建所需要的全部视图CMyFormView1,  
  CMyFormView2,CMyFormView3等等,默认显示CMyFormView1,其他的都隐藏,在需要切换的地方,  
  显示要显示的视图,其他的都隐藏。我做过这方面的例子,很成功。Top

11 楼Steven7(Steven7)回复于 2004-12-01 15:41:09 得分 5

可以看一下MSDN中的例子  
  VIEWEX  
  简单明了Top

12 楼vcstorm(日有所得)回复于 2004-12-02 10:14:59 得分 0

fengqinggao(风清高)   和   whwjn(菜鸟学飞) 讲解的思路很好,我就按这个做了,感谢。  
   
  jiangsheng(蒋晟.MSMVP2004Jan) 提供的代码很有指导意义,谢谢。  
   
  谢谢所有人的参与和回答,感谢大家。Top

13 楼vcstorm(日有所得)回复于 2004-12-03 09:37:05 得分 0

还可以参考CodeGuru中的  
  AW_CMultiViewSplitter,在分割窗口中切换视图。  
  Top

相关问题

  • Outlook界面右边视图切换是如何实现的?
  • 有没有GUI界面的MYSQL视图生成软件?
  • 视图切换问题
  • ======如何切换视图======
  • 视图切换的问题。
  • 在主框架里用OnDraw函数绘制了一个图片作为默认界面,再动态创建了多个视图,视图是用CFormView类。切换到子视图后,如何回到默认界面?
  • 关于多视图的切换。
  • 关于切换视图的方法:)
  • 视图切换的问题,急急!!
  • 如何实现视图的切换?

关键词

  • 视图
  • 界面
  • view
  • 函数
  • 指针
  • 文档
  • cmyformview
  • 对话框
  • gfxoutbarctrl
  • 切换

得分解答快速导航

  • 帖主:vcstorm
  • vcleaner
  • kingzai
  • fengqinggao
  • chuanke
  • jiangsheng
  • muroachanf
  • whwjn
  • Steven7

相关链接

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

广告也精彩

反馈

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