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;  
}

======================================

可以运行测试!第二行为何与第三行重叠了?


作者: qingyou   发布时间: 2011-06-16

因为你先创建的第3个,之后才创建第2个。可以调整创建的次序,或者创建后重新设置窗格大小。

作者: cnzdgs   发布时间: 2011-06-16