void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CFrameWnd::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
if (isCreateClient)
{
setlayout();
}
}
void CMainFrame::setlayout()
{
if (m_SwndCreatOK)
{
int cy0, cy1, cymin, cy;
m_VwndSplitter.GetColumnInfo(0, cy0, cymin);
m_VwndSplitter.GetColumnInfo(1, cy1, cymin);
cy = cy0 + cy1;
int minCy0 = (int)(cy * 0.2); //设置左列视图的高度比例
if(cy0 != minCy0){
cy0 = minCy0;
m_VwndSplitter.SetColumnInfo(0, cy0 , cymin);
}
m_VwndSplitter.RecalcLayout();
}
}
本文介绍了一个C++ MFC应用程序中如何动态调整垂直分割窗口的布局。通过调整左右两个视图的比例,确保左侧视图始终保持为整个高度的20%,实现了自定义的窗口布局更新逻辑。
932

被折叠的 条评论
为什么被折叠?



