VC++6.0 MFC ダイアログバーを横に並べるには?
MainFrameでコントロールバーをいくつか作成しました。
下記のようにやると上下につながります。
ABarの右側にBBarをくっつけるには、どうしたらいいのでしょうか?
ちなみにALIGN_RIGHTにするとメインフレームの右端に張り付いてしまいます。
//ABarを作成
if( !m_wndABar.Create( this, IDD_DLGBAR_A, CBRS_TOP, IDD_DLGBAR_A ) )
{
TRACE0("Failed to create DlgBar\n");
return -1; // 作成に失敗
}
// ドッキング設定
m_wndABar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndAiBar,AFX_IDW_DOCKBAR_TOP);
//BBarを作成
if( !m_wndBBar.Create( this, IDD_DLGBAR_B, CBRS_TOP , IDD_DLGBAR_B ) )
{
TRACE0("Failed to create DlgBar\n");
return -1; // 作成に失敗
}
// ドッキング設定
m_wndBBar.EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndBBar,AFX_IDW_DOCKBAR_TOP);
No.2ベストアンサー
- 回答日時:
#1です。
すみません。#1で注意点があります。
ダイアログバー「ABar、または、BBar」が、CToolBarではなく、
CDialogBarだった場合は、#1の参考サイトの関数をそのまま
使用すると、引数の型違いでコンパイルエラーとなるかもしれ
ません。
もし、エラーとなった場合は、関数 DockControlBarLeftOf()
の定義を以下のように修正する必要があると思います。
<変更前>
・ヘッダーの定義
void DockControlBarLeftOf( CToolBar* Bar, CToolBar* LeftOf );
・本体側の定義
void CMainFrame::DockControlBarLeftOf( CToolBar* Bar, CToolBar* LeftOf )
{
:
}
<変更後>
・ヘッダーの定義
void DockControlBarLeftOf( CControlBar* Bar, CControlBar* LeftOf );
・本体側の定義
void CMainFrame::DockControlBarLeftOf( CControlBar* Bar, CControlBar* LeftOf )
{
:
}
以上です。
No.1
- 回答日時:
こんにちは。
下記サイトのサンプルコードが参考になると思います。
★複数のツールバーを任意の位置に置く
http://www.geocities.co.jp/SiliconValley-SanJose …
ご提示の構成であれば、
MainFrameクラスに、上記サイトの下記関数
DockControlBarLeftOf( CToolBar* Bar, CToolBar* LeftOf )
を追加し、ツールバー BBar のドッキング設定の際に、
DockControlBar( &m_wndBBar, AFX_IDW_DOCKBAR_TOP );
の替わりに、
DockControlBarLeftOf( &m_wndBBar, &m_wndABar );
・第1引数に、これからドッキングさせる自身のツールバーのポインタ
・第2引数に、右隣へドッキングさせる対象となるツールバーのポインタ
⇒これからドッキングさせる自身のツールバーの左隣となるツールバー
のポインタ
とすれば良いように思います。
以上です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
一番好きな「クリスマスソング」は?
街に出ればクリスマスソングを聞かない日はないくらい、 いろんな曲がかかっていますよね。 あなたが一番好きな「クリスマスソング」を教えてください!
-
【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
【お題】 ・ありそうだけど、絶対に無いことわざを教えてください。
-
何歳が一番楽しかった?
自分の人生を振り返ったとき、何歳のころが一番楽しかったですか? 子供の頃でしょうか、それとも大人になってからでしょうか。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
MFC ダイアログ上のID取得について
C言語・C++・C#
-
テキストボックスからフォーカス外す
C言語・C++・C#
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
TCHAR文字列内の検索について
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
Run-Time Check Failure #3とい...
-
ExcelVBAでのkernel32(64bit)
-
LPSTR型の初期化について
-
【C言語】別関数でポインタの値...
-
構造体についての問題なんですが
-
リトルエンディアンというもの...
-
構造体の中の構造体
-
ハンドルはポインタか
-
C++ vectorのbeginについて
-
型変換について
-
連結リスト 要素の入れ替え
-
関数ポインタの利点
-
PCと連動するレーザポインタ
-
#define NULL ((void *)0) の弊害
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
fopne で失敗する原因
-
ExcelVBAでのkernel32(64bit)
-
C言語でのconstを返す関数
-
LPSTR型の初期化について
-
参照型で受け取った引数をポイ...
-
ハンドルはポインタか
-
ハンドル、アドレス、ポインタ...
-
CImage GetBitsメソッドについて
-
C++で関数ポインタから関数名を...
-
Cで作成したDLL関数をVBから呼...
-
アプリを32bitから64bit移行
-
コンストラクタでnewを失敗した...
-
TCHAR文字列内の検索について
-
c言語で任意のファイルから読み...
-
デバイスハンドルとは?
おすすめ情報