CSplitterWnd问题

qaymuic 2005-07-20 09:40:39
1.以下代码为什么不能正常显示高度?
2.如果代码用在没有视图/文档支持的单文档程序里,主窗口变化时,里面的拆分窗口不能跟随变化大小,为什么?要让他象支持视图/文档的单文档程序一样跟随变化,应该加哪些代码?

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
m_split.CreateStatic(this,2,1);
m_split.CreateView(1,0,RUNTIME_CLASS(CListView),CSize(0,50),pContext);
m_split2.CreateStatic(&m_split,2,1,WS_CHILD|WS_VISIBLE,m_split.IdFromRowCol(0,0));
m_split2.CreateView(0,0,RUNTIME_CLASS(CListView),CSize(0,300),pContext);
m_split2.CreateView(1,0,RUNTIME_CLASS(CListView),CSize(0,250),pContext);
return CFrameWnd::OnCreateClient(lpcs, pContext);
}
...全文
234 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
openday 2005-07-21
  • 打赏
  • 举报
回复
WM_SIZE
AntonlioX 2005-07-21
  • 打赏
  • 举报
回复
你的 信 誉 值: 39

服了你了
AntonlioX 2005-07-21
  • 打赏
  • 举报
回复
up
allenhiman 2005-07-21
  • 打赏
  • 举报
回复

//对搂住的代码修正如下

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
m_split.CreateStatic(this,2,1);
m_split.CreateView(0,0,RUNTIME_CLASS(CListView),CSize(0,50),pContext);
m_split.SetRowInfo( 0, 100, 0 );
//此处应为IdFromRowcol( 1, 0 )
m_split2.CreateStatic(&m_split,2,1,WS_CHILD|WS_VISIBLE,m_split.IdFromRowCol(1,0));
m_split2.CreateView(0,0,RUNTIME_CLASS(CListView),CSize(0,300),pContext);
m_split2.CreateView(1,0,RUNTIME_CLASS(CListView),CSize(0,250),pContext);
// 应在此返回,否则等于什么也没做!
// return CFrameWnd::OnCreateClient(lpcs, pContext);
return TRUE;
}

为什么我的信宜分就没变过? 我想低或高一点, 要怎样变?
qaymuic 2005-07-21
  • 打赏
  • 举报
回复
可能我的问题没有说清楚

我要创建从上到下的3个窗口,最下面一个高度固定。怎么弄都不成功。
Kudeet 2005-07-21
  • 打赏
  • 举报
回复
CSplitterWnd::SetRowInfo
CSplitterWnd::SetColumnInfo
goodboyws 2005-07-21
  • 打赏
  • 举报
回复
在主窗口的WM_SIZE里对两个View MoveWindow
goodboyws 2005-07-21
  • 打赏
  • 举报
回复
看看这个
http://community.csdn.net/Expert/topic/4146/4146652.xml?temp=3.788394E-02
qaymuic 2005-07-21
  • 打赏
  • 举报
回复
有解决办法吗?

15,979

社区成员

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

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