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

📄 subject_28971.htm

📁 vc
💻 HTM
字号:
<p>
序号:28971 发表者:yingpf 发表日期:2003-01-27 09:23:35
<br>主题:求助
<br>内容:在单文档的程序中,我想用CListCtrl作为整个客户区显示,该怎么办?<BR>还有,语句:<BR>CSplitterWnd::CreateView(0, 0, RUNTIME_CLASS(CView), CSize(100, 0), pContext))<BR>中,第三个参数为CView时,一运行程序就提示“建立空文档失败”。不知为何。。。
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:songxinye 回复日期:2003-01-27 09:35:54
<br>内容:用ClistView自然含有CListCtrl<BR>CSplitterWnd::CreateView时数量必须与CreateStatic中指定的数量相等<BR>不能多,也不能少,例如:<BR><BR>BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,<BR>&nbsp;&nbsp;&nbsp;&nbsp;CCreateContext* pContext)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// create splitter window<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndSplitter.CreateStatic(this, 1, 3 ))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(120, 100), pContext) ||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(Form), CSize(200, 100), pContext) ||<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!m_wndSplitter.CreateView(0, 2, RUNTIME_CLASS(CShenBianView), CSize(100, 100), pContext))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter.DestroyWindow();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<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>
回复者:yingpf 回复日期:2003-01-27 16:16:59
<br>内容:多谢songxinye兄。我用CSplitterWnd::CreateView的次数与CreateStatic中指定的数量相等。我只要把上面语句中的第三个参数"CView",改为pContext-&gt;m_pNewViewClass 就没问题啊。我想知道的是:为什么用CView类作为CSplitterWnd窗口的view就会产生“建立空文档失败”的提示呢。是不是这个参数一定要是CView的派生类呢,还是有另外的原因呢?<BR><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>
<font color=red>答案被接受</font><br>回复者:songxinye 回复日期:2003-01-27 19:42:45
<br>内容:CView,CFromView,CTreeView,CListView等各种View的派生类都可以,因为这种程序是MFC文档与视的结构,建立文档时必须与视关联,而每个分割窗口都必须对应一个视,否则无法与文档建立联系,这就是数量必须相等的原因,而视类与文档类框架类要实现消息驱动,就得在派生类中实现消息映射。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:yingpf 回复日期:2003-01-28 09:20:12
<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 + -