第三次分割窗口设置大小为何没有作用!第二次就有用!

zdbszy521 2011-07-06 02:59:38
if(!splitter.CreateStatic(this,1,2))
{
return FALSE;
}
CRect cr;
GetClientRect(&cr);

//绑定默认视图
if(!splitter.CreateView(0,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(0,0),pContext))
{
return FALSE;
}
//第二分/在左边子窗口分割上下
if(!splitter_top.CreateStatic(&splitter,2,1,WS_CHILD|WS_VISIBLE|WS_BORDER,splitter.IdFromRowCol(0,1)))
{
return FALSE;
}
============================================================================================================
/*if(!splitter_top.CreateView(0,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(0,840),pContext))
{
return FALSE;
}*/这一部分设置的840就有用为何下边设置的150就没用那!
============================================================================================================
//第三分/在左边较大窗口中继续分
if(!splitter_bot.CreateStatic(&splitter_top,2,2,WS_CHILD|WS_VISIBLE|WS_BORDER,splitter_top.IdFromRowCol(0,0)))
{
return FALSE;
}
if(!splitter_bot.CreateView(0,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(cr.Width(),cr.Height()/2),pContext))
{
return FALSE;
}
if(!splitter_bot.CreateView(0,1,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(150,150),pContext))
{
return FALSE;
}
if(!splitter_bot.CreateView(1,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(150,150),pContext))
{
return FALSE;
}
if(!splitter_bot.CreateView(1,1,RUNTIME_CLASS(CFormTop),CSize(150,150),pContext))
{
return FALSE;
}
if(!splitter_top.CreateView(1,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(cr.Width(),cr.Height()/2),pContext))
{
return FALSE;
}
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdbszy521 2011-07-06
  • 打赏
  • 举报
回复
刚才以为你不在了~!所以有搞了一贴!………………
zdbszy521 2011-07-06
  • 打赏
  • 举报
回复
哦!我知道了!
zdbszy521 2011-07-06
  • 打赏
  • 举报
回复
我以为是在splitter_bot.CreateView(1,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(150,150),pContext)
这里边直接设置的;
因为我第三次没分之前那个参数还是有用的;
如果说这样直接设置父窗口那下边的4个小窗口的大小如何设置;

ndy_w 2011-07-06
  • 打赏
  • 举报
回复
没看见?
splitter_top第0行没有创建view,要:
splitter_top.SetRowInfo(0, 400, 300);
zdbszy521 2011-07-06
  • 打赏
  • 举报
回复
大哥我也不想啊!

按你说的我分了!
他的确出来了!分割线都跑到一起了!
ndy_w 2011-07-06
  • 打赏
  • 举报
回复
splitter的最后一栏/列是根据剩下多少来决定尺寸的。前面没有创建View,后面设if(!splitter_top.CreateView(1,0,RUNTIME_CLASS(CSingle_Form_SplitView),CSize(cr.Width(),cr.Height()/2),pContext)),这个尺寸无效的,会自动充满客户区。
在之前加上:
splitter_top.SetRowInfo(0, 400, 300);
数字乱写的,自己调
ndy_w 2011-07-06
  • 打赏
  • 举报
回复
?怎么还问啊...
zdbszy521 2011-07-06
  • 打赏
  • 举报
回复
那个大侠路过了!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧