[次へ][戻る]ボタンでの画面遷移方法

[戻る]
ぷー 2002/07/04(木) 16:26:07
画面1で[次へ]ボタン押下で画面2へ遷移。
画面2から[戻る]ボタン押下で画面1へ遷移。
画面2から[次へ]ボタン押下で画面3へ遷移。
画面3から[戻る]ボタン押下で画面2へ遷移。
尚、画面遷移した場合は前画面は不可視状態となる。

をしたいのですが、どうすればよいのでしょうか?
私の方法は画面1に画面2のメンバ変数を加え、画面2に画面3のメンバ変数を加えたところ画
面1から画面2の遷移は成功しましたが画面2から画面1への遷移が上手くいきません。
宜しくお願い致します。

*****************
Windows2000 sp2
VC++6.0

dairygoods 2002/07/04(木) 17:01:44
ウィザードのようなものを作りたいのでしょうか?
でしたら、CPropertySheetを使えば前後の画面切り替えなどの
処理は全てやってくれるので簡単です。

それ以外の場合でしたら、多分、
画面1〜画面3をメンバ変数に持つ親画面を作ればよいでしょう。

「画面」と言っても、ダイアログ、MDIの子フレーム、
MDIの子フレーム内のビュー、PCのディスプレイなど
いろいろ解釈できますので、もっと具体的に質問された方が
具体的な回答が得られると思いますよ。

ぷー 2002/07/04(木) 18:29:47
ダイアログ画面での遷移です。
基本画面が画面1で、画面1には画面2,3のメンバ変数を持たし、画面2には画面1,3のメ
ンバ変数を持たし、画面3には画面2のメンバ変数を持たしています。
画面1では次へボタンへ関数を与えて
m_dGamen2.DoModal();
としています。
画面2では戻るボタンへ関数を与えようとするとなぜか「このファイルは外部のエディタで変更さ
れています。再ロードしますか?」とメッセージがでてしまいます。
「はい」にするとビルドは通りますがアプリを起動し、終了する時にエラーがでて落ちてしまい
ます。
もう手におえません・・・。
誰でもいいので助けてください。

EIJI 2002/07/04(木) 19:24:12
CPropertySheetのウィザードモードを検討してみては?
CPropertySheet dlg;
CPropertyPage page1, page2, page3;

dlg.AddPage(&page1);
dlg.AddPage(&page2);
dlg.AddPage(&page3);
dlg.SetWizardMode();
dlg.DoModal();
こんな雰囲気。

ぷー 2002/07/09(火) 09:10:12
[[解決]]
ありがとうございます!

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