分割ウィンドウのサイズをコントロールする。

CSplitterWndを収めたフレームウィンドの WM_SIZE に対するハンドラを記述。

void CMainFrame::OnSize(UINT nType, int cx, int cy) 
{
	CFrameWnd::OnSize(nType, cx, cy);
	if (cx < 1 || cy < 1)
		return;
	if (m_wndSplitter.IsWindowVisible())  // ←重要
	{
		m_wndSplitter.SetColumnInfo(0, cx-300, 0);
		m_wndSplitter.RecalcLayout(); // ←重要
	}
}

m_wndSplitter.SetColumnInfo() で横方向、SetRawInfo()で縦方向のサイズをコントロール


VC覚書きページ...