类似OutLook的界面,如何对右侧的视图进行生成和切换?请大家帮忙!
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




