📄 subject_62960.htm
字号:
<p>
序号:62960 发表者:编编编 发表日期:2003-11-30 12:56:30
<br>主题:CFORMVIEW类???
<br>内容:我想设计一个多文档的程序,在APPWIZARD的第6部我使用基类为CFORMVIEW类。也就是我希望我的所有视图都是对话框样式的,问题是生成的程序只有一个FORM,如果我希望在菜单中能分别调用不同的的FORM,这样的程序我应该如何设计。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-30 15:04:07
<br>内容:在资源里再创建一个对话框,new一个基于 CFormView的类,把对话框绑定到这个类上。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-11-30 21:44:50
<br>内容:下面的函数可以在SDI程序中切换视:<BR>CView * CMainFrame::SwitchToForm( int nCmdID )<BR>{<BR> CView* pOldActiveView = GetActiveView();<BR> if (nCmdID == m_nCurrentView)<BR> return pOldActiveView; // already selected<BR><BR> ::SetWindowLong(pOldActiveView->m_hWnd, GWL_ID, m_nCurrentView);<BR><BR> CRuntimeClass* pNewViewClass;<BR> switch (nCmdID)<BR> {<BR> case IDW_IMAGE_VIEW: // 自己定义的常量,代表我自己的三个视类<BR> pNewViewClass = RUNTIME_CLASS(CMIRImageView);<BR> break;<BR> case IDW_ENHANCE_VIEW:<BR> pNewViewClass = RUNTIME_CLASS(EnhanceView);<BR> break;<BR> case IDW_MEASURE_VIEW:<BR> pNewViewClass = RUNTIME_CLASS(CMeasureView);<BR> break;<BR> default:<BR> ASSERT(0);<BR> return pOldActiveView;<BR> }<BR><BR> // create the new view<BR> CCreateContext context;<BR> context.m_pNewViewClass = pNewViewClass;<BR> context.m_pCurrentDoc = GetActiveDocument();<BR> CView* pNewView = STATIC_DOWNCAST(CView, CreateView(&context));<BR> if (pNewView != NULL)<BR> {<BR> // the new view is there, but invisible and not active...<BR> pNewView->OnInitialUpdate();<BR> pNewView->ShowWindow(SW_SHOW);<BR> SetActiveView(pNewView);<BR> RecalcLayout();<BR> m_nCurrentView = nCmdID;<BR><BR> // finally destroy the old view...<BR> pOldActiveView->DestroyWindow();<BR> return pNewView; // already selected<BR> }<BR> return pOldActiveView; // already selected<BR>}<BR>如有疑问,可以参看MSDN中的MFC例子程序enroll的step4.<BR>2003-11-30 21:51:34
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -