BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: 在此添加專用代碼和/或調用基類
if (!m_wndSplitter.CreateStatic(this, 1, 2))
{
return FALSE;
}
CRect rect;
GetClientRect(&rect);
m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(TreeView), CSize(rect.Width() / 3 - 170, rect.Height()), pContext);
if (!m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 1))
|| !m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(RichEditView), CSize(rect.Width() / 3, rect.Height()), pContext))
{
return FALSE;
}
if (!m_wndSplitter3.CreateStatic(&m_wndSplitter2, 2, 1, WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 0))
|| !m_wndSplitter3.CreateView(0, 0, RUNTIME_CLASS(EditView), CSize(rect.Width() / 3, rect.Height() / 10), pContext)
|| !m_wndSplitter3.CreateView(1, 0, RUNTIME_CLASS(ListView), CSize(rect.Width() / 3, rect.Height() * 0.9), pContext))
{
return FALSE;
}
return TRUE;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}
想把視圖分割成3列,並且第二列是兩行的。
但是運行出來中間一列的寬度不對,非常窄,高度倒是對的。。不知道怎麼回事。。
csplitterwnd裡面有兩個設置colinfo和rowinfo的函數, 要注意的是這個是設置視頻的邊緣的寬度, col表示寬, row是高