⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_48894.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:48894 发表者:失落之湖 发表日期:2003-08-04 18:59:53
<br>主题:单文档多视图的切换问题
<br>内容:一个基于CFormView的单文档工程,此文档对应两个视,要求在菜单中能切换这两个视。<BR>我是这样做的<BR>BOOL CSvApp::InitInstance()<BR>。。。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CSingleDocTemplate* pDocTemplate;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDocTemplate = new CSingleDocTemplate(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IDR_MAINFRAME,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CSvDoc),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CMainFrame),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // main SDI frame window<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CSvView));<BR>&nbsp;&nbsp;&nbsp;&nbsp;AddDocTemplate(pDocTemplate);<BR><BR>//&nbsp;&nbsp;以下为添加,添加CPointView视<BR>&nbsp;&nbsp;&nbsp;&nbsp;pDocTemplate = new CSingleDocTemplate(<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IDR_MAINFRAME,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CSvDoc),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CMainFrame),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // main SDI frame window<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUNTIME_CLASS(CPointView));<BR>&nbsp;&nbsp;&nbsp;&nbsp;AddDocTemplate(pDocTemplate);<BR>//////////////////////////////////////////////////<BR><BR><BR>我是这样切换的<BR>//切换到CSvView视<BR>void CMainFrame::OnWindowEdit() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;SwitchToView(0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR>//切换到CPointView视<BR>void CMainFrame::OnWindowList() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;SwitchToView(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>}<BR><BR>void CMainFrame::SwitchToView(int nView)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CView* pOldActiveView=GetActiveView();<BR>&nbsp;&nbsp;&nbsp;&nbsp;CView* pNewActiveView=(CView*)GetDlgItem(nView);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(pNewActiveView==NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;switch(nView)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 0:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pNewActiveView=(CView*)new CSvView;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case 1:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pNewActiveView=(CView*)new CPointView;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CCreateContext context;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context.m_pCurrentDoc=pOldActiveView-&gt;GetDocument();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pNewActiveView-&gt;Create(NULL,NULL,0L,CFrameWnd::rectDefault,this,nView,&amp;context);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pNewActiveView-&gt;OnInitialUpdate();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;SetActiveView(pNewActiveView);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pNewActiveView-&gt;ShowWindow(SW_SHOW);<BR>&nbsp;&nbsp;&nbsp;&nbsp;pOldActiveView-&gt;ShowWindow(SW_HIDE);<BR>&nbsp;&nbsp;&nbsp;&nbsp;::SetWindowWord(pNewActiveView-&gt;m_hWnd,GWL_ID,AFX_IDW_PANE_FIRST);<BR>&nbsp;&nbsp;&nbsp;&nbsp;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 + -