求助:分割视图时使用SetRowInfo指定的大小为什么不起作用

qin522106350 2013-07-02 11:21:41
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class
CRect FrRect;
GetClientRect(FrRect);

m_WndSplitter.CreateStatic(this,1,2);
m_bSplitterCreated = m_WndSplitter.CreateView(0,0,RUNTIME_CLASS(CAsdPctShView), CSize(FrRect.Width()*7/8,FrRect.Height()),pContext );

m_ChildWndSplitter.CreateStatic(&m_WndSplitter,2,1, WS_CHILD|WS_VISIBLE, m_WndSplitter.IdFromRowCol(0,1) );
m_bSplitterCreated = m_ChildWndSplitter.CreateView(0,0,RUNTIME_CLASS(CTestViewB), CSize(FrRect.Width()/8,FrRect.Height()*3/4),pContext );
m_bSplitterCreated = m_ChildWndSplitter.CreateView(1,0,RUNTIME_CLASS(CTestViewS), CSize(FrRect.Width()/8,FrRect.Height()*1/4),pContext );

return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}

void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CFrameWnd::OnSize(nType, cx, cy);
CRect FrRect;
HWND hwnd;
GetClientRect(FrRect);
if( m_WndSplitter.m_hWnd && m_ChildWndSplitter.m_hWnd ) // 判断
{
m_WndSplitter.SetRowInfo(0,FrRect.Width()*3/4,0);
m_WndSplitter.SetColumnInfo(0,FrRect.Width()*7/8,0);
m_WndSplitter.RecalcLayout();//刷新
}
}
// TODO: Add your message handler code here

}


当对子子视图的设置没有效果》

...全文
128 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-08-02
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
schlafenhamster 2013-07-02
  • 打赏
  • 举报
回复
m_WndSplitter.SetRowInfo(0,FrRect.Width()*3/4,0); m_WndSplitter.SetColumnInfo(0,FrRect.Width()*7/8,0); 直接 放 OnCreateClient 中

15,979

社区成员

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

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