📄 subject_50727.htm
字号:
<p>
序号:50727 发表者:阿洪 发表日期:2003-08-26 09:32:01
<br>主题:MDI中一个文档对应多个不同视图
<br>内容:各位达人,小弟用MDI开发了一个小程序,想在同一个文件下对应两个veiw,一个是图线显示,一个是报表新式,不知如何实现啊?<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>回复者:3SForum 回复日期:2003-08-26 09:57:16
<br>内容://首先要定义两个视<BR>BOOL CC621App::InitInstance()//对应单文档,你可以改成多文档<BR>{<BR>............<BR> CSingleDocTemplate* pDocTemplate;<BR> pDocTemplate = new CSingleDocTemplate(<BR> IDR_MAINFRAME,<BR> RUNTIME_CLASS(CC621Doc),<BR> RUNTIME_CLASS(CMainFrame), // main SDI frame window<BR> RUNTIME_CLASS(CC621View));<BR> AddDocTemplate(pDocTemplate);<BR><BR> //CSingleDocTemplate* p2DocTemplate;<BR> pDocTemplate = new CSingleDocTemplate(<BR> IDR_MENU_SECOND,<BR> RUNTIME_CLASS(CC621Doc),<BR> RUNTIME_CLASS(CMainFrame), // main SDI frame window<BR> RUNTIME_CLASS(CSecondView));<BR> AddDocTemplate(pDocTemplate);<BR>.......<BR>}<BR>//对应在主框架窗口实现视切换<BR>BOOL CMainFrame::SwitchViews()<BR>{<BR> CView* pOldView = GetActiveView();<BR> ASSERT(pOldView);<BR> <BR> CView* pNewView=NULL;<BR> <BR> if(pOldView->IsKindOf(RUNTIME_CLASS(CC621View)))<BR> {<BR> if((pNewView=(CView*)GetDlgItem(IDW_PANE_SECOND))==NULL)<BR> {<BR> <BR> pNewView= (CView*)(RUNTIME_CLASS(CThirdView)->CreateObject());<BR> if(pNewView==NULL)<BR> {<BR> TRACE("Create the second view object failed!\n");<BR> return FALSE;<BR> }<BR> CCreateContext context;<BR> context.m_pCurrentDoc = pOldView->GetDocument();<BR><BR> if(!(pNewView->Create(NULL, NULL, WS_CHILD | WS_VISIBLE,<BR> CRect(0,0,0,0), this, IDW_PANE_SECOND, &context)))<BR> {<BR> TRACE("Create the second view child window failed!\n");<BR> delete pNewView;<BR> return FALSE;<BR> }<BR> pNewView->OnInitialUpdate();<BR> }<BR> }<BR> <BR> pNewView = (CView*) GetDlgItem(IDW_PANE_SECOND);<BR> ASSERT(pNewView); <BR><BR> SetActiveView(pNewView);<BR> pNewView->ShowWindow(SW_SHOW);<BR> pOldView->ShowWindow(SW_HIDE);<BR> pOldView->SetDlgCtrlID(IDW_PANE_SECOND);<BR> pNewView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);<BR> RecalcLayout();<BR> return true;<BR>}<BR>//再自己添加一个菜单命令,就可以实现了
<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-26 10:27:15
<br>内容:在资源中加一个字串,然后新建一个CView,再在CMyApp::InitInstance中<BR>创建Template就可以了
<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-26 13:05:52
<br>内容:laughinggas,alice 多谢两位的帮忙,小弟在此拜谢,<BR>尤其laughinggas,那么大段程序,真是不容易,再拜!<BR>呵呵,<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 + -