有关窗体拆分后,窗体大小显示问题请教(急)
窗体要拆分成3行一列,中间一行再拆成2列。
显示结果是调整第3行大小无效,中间的2列只显示一小部分,很奇怪
代码如下:
BOOL bSplte = m_WndSplitter1.CreateStatic(this,3,1);
m_WndSplitter1.CreateView(0,0,
RUNTIME_CLASS(CTopToolBar), CSize(0, CTopToolBar::IcoHight), pContext);
m_WndSplitter1.CreateView(2,0,
RUNTIME_CLASS(CBoTomToolBar), CSize(0, CBoTomToolBar::IcoHight), pContext);
m_WndSplitter2.CreateStatic(&m_WndSplitter1,1,2,WS_CHILD|WS_VISIBLE,
m_WndSplitter1.IdFromRowCol(1, 0));
m_WndSplitter2.CreateView(0,0,
RUNTIME_CLASS(CLeftToolBar), CSize(CLeftToolBar::IcoWigth, 0), pContext);
m_WndSplitter2.CreateView(0,1,
RUNTIME_CLASS(CFileListView), CSize(0, 0), pContext);
另外:如果cSize(0,0)的意思是不是根据剩余窗体大小自动调整长宽呢
问题点数:20、回复次数:5Top
1 楼look01(^-^)回复于 2006-03-17 16:19:55 得分 0
不要沉啊Top
2 楼look01(^-^)回复于 2006-03-17 19:57:24 得分 0
哪位大哥遇到这类问题啊Top
3 楼huqiang361(强强)回复于 2006-03-17 23:25:25 得分 10
if(m_wndSplitter1.CreateStatic(this,3,1)==NULL) //三行一列
return FALSE;
//将CSplitWndDemoView连接到0行0列窗格上
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CSplitView),CSize(100,100), pContext);
m_wndSplitter1.CreateView(2,0,RUNTIME_CLASS(CView4),CSize(100,100),pContext); //将CView4连接到0行2列
if(m_wndSplitter2.CreateStatic(&m_wndSplitter1,1,2,WS_CHILD|WS_VISIBLE, m_wndSplitter1.IdFromRowCol(1, 0))==NULL)
return FALSE; //将第1行0列再分开1行2列
//将CView2类连接到第二个分栏对象的0行0列
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CView2),CSize(400,300),pContext); //将CView3类连接到第二个分栏对象的0行1列
m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CView3),CSize(400,300),pContext);
不知道这段代码对你有帮助吗?我想一定有。Top
4 楼look01(^-^)回复于 2006-03-18 05:55:27 得分 0
楼上的兄弟我就是这么用的,但是中间2列的大小无论如何调整都只显示一小部分,奇怪Top
5 楼Atomictry(天影)回复于 2006-03-18 16:14:07 得分 10
那篇文章的作者该打屁股!
在后面再加上:
CRect rcClient;
GetClientRect(&rcClient);
m_wndSplitter1.SetRowInfo(0, rcClient.Height() - 400, 100);
m_wndSplitter1.SetRowInfo(1, 200, 100);
m_wndSplitter1.RecalcLayout();Top




