📄 subject_48894.htm
字号:
<p>
序号:48894 发表者:失落之湖 发表日期:2003-08-04 18:59:53
<br>主题:单文档多视图的切换问题
<br>内容:一个基于CFormView的单文档工程,此文档对应两个视,要求在菜单中能切换这两个视。<BR>我是这样做的<BR>BOOL CSvApp::InitInstance()<BR>。。。<BR> CSingleDocTemplate* pDocTemplate;<BR> pDocTemplate = new CSingleDocTemplate(<BR> IDR_MAINFRAME,<BR> RUNTIME_CLASS(CSvDoc),<BR> RUNTIME_CLASS(CMainFrame), // main SDI frame window<BR> RUNTIME_CLASS(CSvView));<BR> AddDocTemplate(pDocTemplate);<BR><BR>// 以下为添加,添加CPointView视<BR> pDocTemplate = new CSingleDocTemplate(<BR> IDR_MAINFRAME,<BR> RUNTIME_CLASS(CSvDoc),<BR> RUNTIME_CLASS(CMainFrame), // main SDI frame window<BR> RUNTIME_CLASS(CPointView));<BR> AddDocTemplate(pDocTemplate);<BR>//////////////////////////////////////////////////<BR><BR><BR>我是这样切换的<BR>//切换到CSvView视<BR>void CMainFrame::OnWindowEdit() <BR>{<BR> SwitchToView(0);<BR> <BR>}<BR>//切换到CPointView视<BR>void CMainFrame::OnWindowList() <BR>{<BR> SwitchToView(1);<BR> <BR>}<BR><BR>void CMainFrame::SwitchToView(int nView)<BR>{<BR> CView* pOldActiveView=GetActiveView();<BR> CView* pNewActiveView=(CView*)GetDlgItem(nView);<BR> if(pNewActiveView==NULL)<BR> {<BR> switch(nView)<BR> {<BR> case 0:<BR> pNewActiveView=(CView*)new CSvView;<BR> break;<BR> case 1:<BR> pNewActiveView=(CView*)new CPointView;<BR> break;<BR> }<BR> CCreateContext context;<BR> context.m_pCurrentDoc=pOldActiveView->GetDocument();<BR> pNewActiveView->Create(NULL,NULL,0L,CFrameWnd::rectDefault,this,nView,&context);<BR> pNewActiveView->OnInitialUpdate();<BR> }<BR> SetActiveView(pNewActiveView);<BR> pNewActiveView->ShowWindow(SW_SHOW);<BR> pOldActiveView->ShowWindow(SW_HIDE);<BR> ::SetWindowWord(pNewActiveView->m_hWnd,GWL_ID,AFX_IDW_PANE_FIRST);<BR> RecalcLayout();<BR>}<BR>为什么切换不过来啊!工具栏已经改变,但视却没有改变,是不是需要刷新啊!<BR>我改怎么作啊!麻烦哪位前辈指点一下<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:木一 回复日期:2003-08-04 21:01:40
<br>内容:MSDN里面有一个Sample叫 COLLECT ,里面有实现视切换,代码很清秀。可以参考。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:失落之湖 回复日期:2003-08-05 15:09:56
<br>内容:sorry,我的MSDN好像不太全,能不能帮忙指点一下,或者您把它贴出来。谢谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:失落之湖 回复日期:2003-08-06 21:00:27
<br>内容:我找到了,问题解决了,原来这么简单。谢谢了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -