いつもお世話になっております。
スプリッタを使って次のような3分割画面をSDIで作成しました。
CView1|
------|CView3
CView2|
以下のコードを実行すると3分割はされているのですが、
CView1とCView2の横幅がほとんど0になってしまいます。
どうすれば丁度良い場所に来るでしょうか。
また、CreateViewの時にCSizeでサイズを決定できるようですが、
これ以外に後でウィンドウサイズを変更し、
スプリッタを移動させるにはどうすればよろしいでしょうか。
ご教授よろしくお願いいたします。
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
int nRet;
nRet = m_SplitWndMain.CreateStatic( this, 1, 2 );
nRet = m_SplitWndSub.CreateStatic(
&m_SplitWndMain, 2, 1,
WS_CHILD | WS_VISIBLE,
m_SplitWndMain.IdFromRowCol(0, 0) );
nRet = m_SplitWndSub.CreateView(0, 0,
RUNTIME_CLASS(CView1), CSize(120,120), pContext);
nRet = m_SplitWndSub.CreateView(1, 0,
RUNTIME_CLASS(CView2), CSize(120,120), pContext);
nRet = m_SplitWndMain.CreateView(0, 1,
RUNTIME_CLASS(CView3), CSize(120,120), pContext);
}
環境:WinXP: VC++6.0
http://msdn2.microsoft.com/ja-JP/library/5xttbe5t.aspx
> CreateStatic メンバ関数は、自動的に静的分割ウィンドウの最小値の高さと幅を 0
> に初期化します。Create を呼び出した後、SetColumnInfo と SetRowInfo メンバ関数
> を呼び出してこれらの最小値を調整します。SetColumnInfo や SetRowInfo メンバ
> 関数は、CreateStatic の呼び出し後にも、最適なペインの大きさを指示するために
> 使います。
だってさ。
ありがとうございます。解決しました。