VC 窗口分割问题,第二行为何与第三行重叠了?
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加专用代码和/或调用基类
CRect rect;
GetClientRect(&rect);
if(m_wndSplitter.CreateStatic(this,3,1)==NULL)
return FALSE;
//将CCuteFTPView连接到0行0列窗格上
m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CdlgTest),CSize(100,100), pContext);
m_wndSplitter.CreateView(2,0,RUNTIME_CLASS(CdlgTest),CSize(100,100),pContext);
//将CView4连接到0行2列
if(m_wndSplitter2.CreateStatic(&m_wndSplitter,1,2,WS_CHILD|WS_VISIBLE|WS_BORDER,
m_wndSplitter.IdFromRowCol(1, 0))==NULL)
return FALSE; //将第1行0列再分开1行2列
//将CdlgTest类连接到第二个分栏对象的0行0列
m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CdlgTest),CSize(400,300),pContext);
//将CdlgTest类连接到第二个分栏对象的0行1列
m_wndSplitter2.CreateView(0,1,RUNTIME_CLASS(CdlgTest),CSize(400,300),pContext);
return TRUE;
}
======================================
可以运行测试!第二行为何与第三行重叠了?
[解决办法]
因为你先创建的第3个,之后才创建第2个。可以调整创建的次序,或者创建后重新设置窗格大小。
[解决办法]
你哪行代码中提到要把 m_wndSplitter2 放到 m_wndSplitter 的第二行了?