拆分窗口2*2,并嵌入对话框

来源:互联网 发布:阿里云电视系统升级 编辑:程序博客网 时间:2024/04/30 19:08

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
 CCreateContext* pContext)
{
 CRect rc;
 GetClientRect(&rc);

 m_bSplitted=m_wndSplitter.CreateStatic(this, 2, 2);

 if(!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(0, 0), pContext))
  return FALSE;

 if(!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CView1), CSize(0, 0), pContext))
  return FALSE;

 if(!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CMsgContentNew), CSize(0, 0), pContext))
  return FALSE;

 if(!m_wndSplitter.CreateView(1, 1, RUNTIME_CLASS(CMsgContentNew), CSize(0, 0), pContext))
  return FALSE;

 return TRUE;

}

 

 

void CMainFrame::OnSize(UINT nType,int cx,int cy)
{

 if(!m_bSplitted)
  return;
 if(!m_wndSplitter.GetSafeHwnd())
  return;

 CRect rect;
 GetClientRect(rect);
 m_wndSplitter.SetRowInfo(0,int(rect.Height()*0.7),100);
 m_wndSplitter.SetColumnInfo(0,int(rect.Width()*0.5),100);
 m_wndSplitter.RecalcLayout();

 m_wndSplitter.GetPane(0,0)->SendMessage(WM_SIZE);
 m_wndSplitter.GetPane(0,1)->SendMessage(WM_SIZE);
 m_wndSplitter.GetPane(1,0)->SendMessage(WM_SIZE);
 m_wndSplitter.GetPane(1,1)->SendMessage(WM_SIZE);
}

 

 

其中class CMsgContentNew : public CFormView

class CView1 : public CFormView

原创粉丝点击