📄 subject_53592.htm
字号:
<p>
序号:53592 发表者:Rikcuo Akira 发表日期:2003-09-21 01:18:08
<br>主题:CSplitterWnd 分割三個View
<br>内容:我想分割三個View,左兩個(上GlobalView,下cTreeView),右一個(CSSplitView)<BR>可是左邊兩個每次出現時,看起來的Size的寬都不是我所定義的200,而且都快不見了<BR>還要拖曳才看得見...Why?<BR><BR>附上Source Code<BR><BR> CSplitterWnd StaticSplit;<BR> CSplitterWnd StaticSplit2;<BR><BR>BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) <BR>{<BR> StaticSplit.CreateStatic(this,1,2); //建立靜態分裂視窗<BR> StaticSplit.CreateView(0,1,RUNTIME_CLASS(CSSplitView),CSize(200,400),pContext);<BR><BR> StaticSplit2.CreateStatic(&StaticSplit,2,1,WS_CHILD|WS_VISIBLE, StaticSplit.IdFromRowCol(0,0));<BR> StaticSplit2.CreateView(0,0,RUNTIME_CLASS(GlobalView),CSize(200,200),pContext);<BR> StaticSplit2.CreateView(1,0,RUNTIME_CLASS(cTreeView),CSize(200,200),pContext);<BR> <BR> StaticSplit.SetActivePane(0,1); //設定繪圖區為作用的子視窗<BR> <BR> return TRUE;<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Yee Wang 回复日期:2003-09-21 01:47:19
<br>内容:主框架窗口太小(可能默认的)。应该把右边窗口统一改小一点, 比如CSize(100,200)。
<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>回复者:a dog 回复日期:2003-09-21 02:59:26
<br>内容:你少用了一个CreateView。<BR>我加了一句,别的只是稍做改动就OK了:<BR><BR><BR>StaticSplit.CreateStatic(this,1,2);<BR>StaticSplit.CreateView(0,0,RUNTIME_CLASS(CView),CSize(200,0),pContext);//这句是我加的<BR>StaticSplit.CreateView(0,1,RUNTIME_CLASS(CSSplitView),CSize(0,0),pContext); <BR>StaticSplit2.CreateStatic(&StaticSplit,2,1,WS_CHILD|WS_VISIBLE, StaticSplit.IdFromRowCol(0,0));<BR>StaticSplit2.CreateView(0,0,RUNTIME_CLASS(GlobalView),CSize(0,80),pContext);<BR>StaticSplit2.CreateView(1,0,RUNTIME_CLASS(cTreeView),CSize(0,0),pContext);<BR>StaticSplit.SetActivePane(0,1);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:a dog 回复日期:2003-09-21 10:33:04
<br>内容:有上点忘 了说了,如果你是对右边的切分窗口进行再切分,你可以只对左边的使用一个CreateView,左边的尺寸确定以后,客户区剩下的宽度就留给右边的窗口。可是你只对右边的窗口用了一个CreateView,所以左边的窗口尺寸就没法确定了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Rikcuo Akira 回复日期:2003-09-21 19:04:22
<br>内容:還有一個問題,就是我想讓左兩個(上GlobalView,下cTreeView),不可以改變尺寸<BR>就是兩個View中間不可拖曳,要如何設定?<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>
回复者:a dog 回复日期:2003-09-21 19:46:58
<br>内容:那样的话StaticSplit2要使用自己定义的从CSplitterWnd派生的类,在派生类中实现。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Rikcuo Akira 回复日期:2003-09-21 19:51:10
<br>内容:那样的话StaticSplit2要使用自己定义的从CSplitterWnd派生的类,在派生类中实现。<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>
回复者:a dog 回复日期:2003-09-21 20:06:16
<br>内容:我也没试过,但是你重载它的一些消息函数或自己再添加一些函数总是能够实现。<BR><BR>PS:不是说只有想不到没有做不到嘛!
<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-10-13 13:04:15
<br>内容:你可以在BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)中使用CSplitterWnd类对象的SetColumnInfo, SetRowInfo 方法来设置分割的视图的行和列的属性。<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 + -