スプリッタ-ウインドウにToolBarをのせたい。 – プログラミング – Home

スプリッタ-ウインドウにToolBar...
 
通知
すべてクリア

[解決済] スプリッタ-ウインドウにToolBarをのせたい。


saito( );
 saito( );
(@saito( );)
ゲスト
結合: 23年前
投稿: 25
Topic starter  

いま、VC++を勉強中ですが、スプリッタ-をつかって、以下の
分割ウインドウをつくりました。
Pane-1:CTreeView
Pane-2:CListView
Pane-3:CView(もしくは、CHtmlView)

ここにそれずれ、ToolBarを表示させたい
(ちょうどMDIが3画面あるように)のですが
手法をご存知の方がいれば教えて下さい。
タイトルバーまではわかったのですが・・・・

MDIでそれぞれのウインドウがドッキングできれば
MDIのドッキングの方法がわからなかったので
スタティックスプリッタ-を採用しております。


引用未解決
トピックタグ
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

ツールバーは普通、フレームウィンドウにしかドッキングできません。
そこで、分割ウィンドウの各ペインに、子フレームウィンドウを乗せれば出来るような気がしま
す。
子フレームは、CMainFrame と同じように、CFrameWnd から派生させます。
そして、CMainFrame の OnCreateClient で分割ウィンドウを作成したあと、以下のようなコ
ードを入れます。

// 子フレームの作成
CFrame1* pFrame1 = (CFrame1*)RUNTIME_CLASS(CFrame1)->CreateObject();
if (!pFrame1->Create(NULL, NULL, WS_CHILD | WS_VISIBLE,
CRect(0, 0, 0, 0), &m_wndSplitter, m_wndSplitter.IdFromRowCol(0, 0)))
return FALSE;

// ビューの作成
CView1* pView1 = (CView1*)RUNTIME_CLASS(CView1)->CreateObject();
if (!pView1->Create(NULL, NULL, WS_CHILD | WS_VISIBLE,
CRect(0, 0, 0, 0), pFrame1, AFX_IDW_PANE_FIRST, pContext))
return FALSE;

これを、すべてのペインに対して行います。
m_wndSplitter の CreateView を呼び出す必要はありませんし、基本クラスの
OnCreateClient も呼び出してはいけません。
子フレームもビューも、メインウィンドウが破棄されると、自分で自分を delete してくれるの
で、特別な終了処理は不要です。

ツールバーは、それぞれの子フレームの OnCreate の中で作成します。メインウィンドウのツー
ルバーの作成方法と何ら変わりはありません。

たぶん、これでできると思います。


返信引用
saito( )
 saito( )
(@saito( ))
ゲスト
結合: 23年前
投稿: 1
 

TADさん、
早速な、しかも丁寧な返事ありがとうございます。
これから、挑戦してみます。
成功したら、またご連絡致します。

またここでご質問させていただく事も
あるかと思いますので、
今後ともよろしくお願いします。


返信引用
saito( );
 saito( );
(@saito( );)
ゲスト
結合: 23年前
投稿: 25
 

TADさん、本当に有難うございました。
できました。

しかし、何故すぐわかるんですか?
やっぱり、経験数ですか?

この、ホームページ昨日何気なしに
見つけましたが、
みなさん親切だし、教えていただける
人も多いみたいだし、
非常にいいホームページだと思います。
私も、早く困っているひとに
教えてあげれるようになって、
『恩返しをしなくては・・・・』
と思います。(まだまだ先かも???)

最後に、TADさん有難う御座いました。
またどーしても判らないことがありましいたら
(きっとあると思います)よろしく
お願いします。


返信引用
saito( );
 saito( );
(@saito( );)
ゲスト
結合: 23年前
投稿: 25
 

すみません。『解決時チェック』するのを忘れました。
「チェック」します。


返信引用
saito( );
 saito( );
(@saito( );)
ゲスト
結合: 23年前
投稿: 25
 

おちょこちょいですみません。
『ちぇっく』再度します。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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