窗口分割, 如何水平居中

xiapingsheng 2009-11-11 09:04:10
现在一个childframe用CSplitterWnd类来水平分割两个view类, 我想在整个窗口中居中分割这两个view类窗口,怎么做?
...全文
103 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
paerxiushi 2009-11-12
  • 打赏
  • 举报
回复
动态分割:
1.在子框架类中加入一个成员变量:
CSplitterWnd m_splitter;
2.在子框架类CChildFrame中添加虚拟函数OnCreateClient的声明
3.OnCreateClient的函数体:
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext *pContext)
{
CRect rect;
GetClientRect(&rect);
SIZE size;
size.cx=rect.Width()/2-16;
size.cy=rect.Height()-16;
m_splitter.Create(this,1,2,size,pContext,WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|SPLS_DYNAMIC_SPLIT,AFX_IDW_PANE_FIRST);
return TRUE;
}
paerxiushi 2009-11-12
  • 打赏
  • 举报
回复
静态分割:
1.在子框架类中加入一个成员变量:
CSplitterWnd m_splitter;
2.在子框架类CChildFrame中添加虚拟函数OnCreateClient的声明
3.OnCreateClient的函数体:
BOOL CChildFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext *pContext)
{
CRect rect;
GetClientRect(&rect);
SIZE size;
size.cx=rect.Width()/2-16;
size.cy=rect.Height()-16;
m_splitter.CreateStatic(this,1,2,WS_CHILD|WS_VISIBLE,AFX_IDW_PANE_FIRST);
m_splitter.CreateView(0,0,RUNTIME_CLASS(CSplitterView),size,pContext);
m_splitter.CreateView(0,1,RUNTIME_CLASS(CSplitterView),size,pContext);

return TRUE;
}
wwgddx 2009-11-12
  • 打赏
  • 举报
回复
分割的时候宽度设为view的一半就可以了
paerxiushi 2009-11-11
  • 打赏
  • 举报
回复
我想在整个窗口中居中分割这两个view类窗口
------------------------------
什么意思?能讲得明确点吗?
快乐鹦鹉 2009-11-11
  • 打赏
  • 举报
回复
不是可以指定尺寸么

15,978

社区成员

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

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