スプリッター移動 – プログラミング – Home

通知
すべてクリア

[解決済] スプリッター移動


ダカラ
 ダカラ
(@ダカラ)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

いつもお世話になっております。
スプリッタを使って次のような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


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

http://msdn2.microsoft.com/ja-JP/library/5xttbe5t.aspx

> CreateStatic メンバ関数は、自動的に静的分割ウィンドウの最小値の高さと幅を 0
> に初期化します。Create を呼び出した後、SetColumnInfo と SetRowInfo メンバ関数
> を呼び出してこれらの最小値を調整します。SetColumnInfo や SetRowInfo メンバ
> 関数は、CreateStatic の呼び出し後にも、最適なペインの大きさを指示するために
> 使います。

だってさ。


返信引用
ダカラ
 ダカラ
(@ダカラ)
ゲスト
結合: 18年前
投稿: 2
Topic starter  

ありがとうございます。解決しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました