ダイアログベースのアプリにツールバーやダイアログバーを付けたい

[戻る]
2005/04/27(水) 15:49:15
VC初心者です。
ダイアログベースで作成されたアプリケーションに「ツールバー」もしくは「ダイアロ
グバー」を付けたいのですが、方法が分かりません。ご教授願います。

2005/04/27(水) 16:00:03
追記いたします。
開発環境は WinXP SP2, VC++6.0 SP6, MFCです。

ダイアログバーやツールバーの取り付け方は、ネット上で探すとSDIで作成したものに追
加する方法ばかりでダイアログベースのものがなくて困っています。(OnCreate関数が
無いので、どこにソース追加などをすれば良いのか分かりません)

よろしくお願いいたします。

天宮 小百合 2005/04/27(水) 18:51:39
ダイアログウィンドウの初期化などはOnCreate関数の代わりに
OnInitDialog関数を使用するのだったと思います。

たいちう 2005/04/28(木) 11:19:53
回答ではないですが、こういう場合、CFormViewを使った方が良いのでは?

ゆう 2005/04/28(木) 12:39:46
>OnCreate関数が
>無いので、どこにソース追加などをすれば良いのか分かりません)
WM_CREATEをハンドリングすれば追加できますよ。
OnInitDialogでMoveWindowを使って場所を移動させないと、
どこかとんでもない所にあって、見えなかったりします。
あと、ダイアログバー貼り付けると、枠をなしにしても
ダイアログバーの上に一本棒が出てきてしまいます。
OnPaintで線を描画してごまかしていますが、良い方法あるのかな。

はっぱ 2005/04/28(木) 19:38:09
たいちうさんと同じ意見ですが、新規作成ウィザードで「SDI」を選択しステップ6で基本クラ
スの項目を「CFormView」を選ぶのが一番楽です。ためしに使ってみてはどうでしょうか?

2005/05/12(木) 19:56:11
返答が遅くなって申し訳ありません。

>天宮 小百合さん
そうなのですね。
そんなことも知らないくらいにVC初心者で非常に困っております。
OnInitDialogに追記したらツールバーは付くようになりました。
ありがとうございました。

>ゆうさん
>WM_CREATEをハンドリングすれば追加できますよ。
すみません、かなりの初心者なもので、
「WM_CREATEをハンドリング」する、ということが
どういうことを指しているのかすら分からない状態です。
たいへん申し訳ありませんが、まだこの投稿をご覧になる機会が
ありましたらもう少し詳しくお教えいただけないでしょうか?
本当にすみません。

>たいちうさん、はっぱさん
SDIで作るべきだったと思うのですが、既存アプリの改造のため、
ダイアログベースという部分は変更できないんです・・・。
こちらの説明不足で申し訳ありませんでした。

ゆう 2005/05/13(金) 00:06:19
クラスビューで、該当ダイアログクラスを右クリックして、
"windowsメッセージハンドラの追加"でWM_CREATEを選びます。

まずは何か1冊入門書購入した方が良いですよ。
なぜメッセージハンドラを知らないでツールバーの実装ができるの
かが不思議です。

古いスレッドには追加発言できません。