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

📄 subject_37212.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:37212 发表者:pan_doreen 发表日期:2003-04-22 23:21:56
<br>主题:分割窗口的一个问题
<br>内容:我编一个分割窗口的程序,如下:<BR>--------------------<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;CView1<BR>-------|------------<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<BR> CView2| CView3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<BR>-------|------------<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; CView4<BR><BR>-------------------<BR>但中间的一行总是被挤的没有高度,第一行如所设高度,其余的被第3行CVIEW4占满。代码如下<BR><BR>BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,<BR>&nbsp;&nbsp;&nbsp;&nbsp;CCreateContext* pContext)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_wndSplitter1.CreateStatic(this,3, 1)==NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CView1),CSize(0,100), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter1.CreateView(2,0,RUNTIME_CLASS(CView4),CSize(0,200), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(m_wndSplitter2.CreateStatic(&amp;m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,m_wndSplitter1.IdFromRowCol(1,0))==NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(100,100), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(100,100), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;return TRUE;<BR><BR>若将CVIEW4放到第2行,将CVIEW2和CVIEW3的分割放到第3行,就没问题。不知是和缘故?请指教?应如何实现我想要的分割?<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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-04-24 13:14:26
<br>内容:呵呵,好长时间没发过言了,说说吧!<BR>朋友,<BR>BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,<BR>&nbsp;&nbsp;&nbsp;&nbsp;CCreateContext* pContext)<BR>{<BR>  CRect cr;//加上这句<BR>  GetClientRect(&amp;cr);//加上这句<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;if(m_wndSplitter1.CreateStatic(this,3, 1)==NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CView1),CSize(0,100), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter1.CreateView(2,0,RUNTIME_CLASS(CView4),CSize(0,200), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(m_wndSplitter2.CreateStatic(&amp;m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE,m_wndSplitter1.IdFromRowCol(1,0))==NULL)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return FALSE;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(100,100), pContext);<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(100,100), pContext);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;m_wndSplitter1.SetRowInfo(1,cr.Height()/3,0);//加上这句话就OK了<BR>&nbsp;&nbsp;&nbsp;&nbsp;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>
回复者:pan_doreen 回复日期:2003-04-24 17:07:32
<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 + -