15,978
社区成员
发帖
与我相关
我的任务
分享
//第一步:OnCreateClient
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
CCreateContext* pContext)
{
m_bSpliterCreated = m_wndSplitter.CreateStatic(this,2,1); //建立外层架构,一行两列
m_wndLeftSplitter.CreateStatic( //建立内层架构,两行一列
&m_wndSplitter, //以外层splitter为父窗体
1,2,
WS_CHILD|WS_VISIBLE,
m_wndSplitter.IdFromRowCol(0,0) //指定新的splitter占据外层架构的左方格
);
m_wndLeftSplitter.CreateView(
0,0,
RUNTIME_CLASS(CVedioClientView),
CSize(0,0),
pContext
);
m_wndLeftSplitter.CreateView(
0,1,
RUNTIME_CLASS(CAlarmMesListView),
CSize(0,0),
pContext
);
m_wndSplitter.CreateView(
1,0,
RUNTIME_CLASS(CDeviceTreeView),
CSize(0,0),
pContext
);
g_pVedioClientView = (CVedioClientView*)m_wndLeftSplitter.GetPane(0,0);
g_pDeviceTreeView = (CDeviceTreeView*)m_wndSplitter.GetPane(0,0);
g_pAlarmMesListView = (CAlarmMesListView*)m_wndSplitter.GetPane(1,0);
g_pAlarmMesListView->SetWindowTextA("报警");
return m_bSpliterCreated;
}
//第二步:OnSize也需要修改
void CMainFrame::OnSize(UINT nType, int cx, int cy)
{
CFrameWnd::OnSize(nType, cx, cy);
// TODO: 在此处添加消息处理程序代码
CRect rect;
GetWindowRect(&rect);
if (m_bSpliterCreated)
{
m_wndSplitter.SetRowInfo(0,rect.Height()/2,1);
m_wndSplitter.SetRowInfo(1,rect.Height()/2,1);
m_wndLeftSplitter.SetColumnInfo(0,rect.Width()/2,1);
m_wndLeftSplitter.SetColumnInfo(1,rect.Width()/2,1);
m_wndSplitter.RecalcLayout();
}
}