ダイアログ画面を、作成済みMDIへ追加する方法

[戻る]
ヨイショ 2002/07/01(月) 17:33:09
開発環境:VC++6
OS:w2000

「新規作成→MFC AppWizard(exe)→MDI→終了」を行いビルド。
リソースタブからDialog画面を追加。
このDialog画面のOKボタンを押下すると、一番始めにビルドした画面を呼ぶのにはどうしたら
よいのですか?

Dialog画面同士ならメンバ変数を親のDialogへ加えてあげて簡単にできますが、MDIだとやたら
たくさんソースがあって何をどうしたらよいかわかりません。

教えてください。

PATIO 2002/07/01(月) 17:42:27
まず確認ですが、ちょっと前の なおさん と同一人物ではないですよね。
あまりに内容が似ているので気になります。
もし、同一人物なんでしたら前のスレッドはちゃんと終結させてくださいね。

単にMDIの画面表示前に処理したいだけなら、CWinAppクラスの派生クラスにある
InitInstance内でダイアログを出し、その結果をCMainFrameに引き渡せば、
それで何とかなるでしょう。ただ、メインメニューのようにまた戻るような
作りにするならもっと工夫が必要です。
この方法だと、起動時に一度出たら次の起動まで出てきません。
CMainFrameとかCViewの派生クラスにコードを書けば呼び出すことは出来ますけれど、
これは別の話です。

あと、ダイアログベース、SDI、MDI、それぞれのスケルトンの構成はちゃんと理解しないと
駄目ですよ。このまま進んでも行き当たりばったりになるだけです。
Document-Viewアーキテクチャについてもきちんと勉強しましょう。

ヨイショ 2002/07/01(月) 17:47:40
あ・・・。
同じ質問を(しかも友達)してたみたいです。
言っておきますね。
なんせ、マシン1台ですんで・・・、ネットに繋がってるのが。

******************************************
単にMDIの画面表示前に処理したいだけなら、CWinAppクラスの派生クラスにある
InitInstance内でダイアログを出し、その結果をCMainFrameに引き渡せば、
それで何とかなるでしょう。
******************************************
やってみます。それとなおにも教えておきます。
どうもです!

駄犬 [E-Mail] 2002/07/02(火) 01:52:23
>なんせ、マシン1台ですんで・・・、ネットに繋がってるのが。

んーと、マシンを何人で共有しようと関係ありません。
過去ログを、そして使用上の注意を読んでいない証拠です。
次回からお気をつけください。
なにより過去ログは情報の資源ですからね。

■注意事項
・ご質問される場合は、まず過去ログにないかどうかお確かめ下さい。

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