初心者で困っています。宜しくお願いします
VC++6.0のSDIを使用してます。
画面の遷移方法について質問します。
ダイアログにて作成した、A画面とB画面があります。
A画面にはボタンがあり、ボタンを押下することで
B画面を表示します。
そこで、B画面を表示した時にA画面を閉じたいのですが、
方法が解りません。
A画面とB画面って親子関係ですか?
であれば、私がよくやる方法は、
・B画面を呼び出すタイミングでA画面を非表示にする。
↓
・B画面を閉じるタイミングでA画面を表示する。
という方法を取っています。
A画面を閉じたい理由が、A画面が見えるのがNGということだけであれば、
それでもいいのかな?
A画面とB画面は親子関係ではなく、全く別物なら、
目に見えない画面「C画面」を用意して、
・C画面からA画面を呼び出す。
↓
・A画面のボタンが押されたタイミングでA画面を閉じ、B画面を呼び出す。
としたらできるかと。(やったことないけど)
「初心者ですいません」さんの意図と異なってくるかもしれませんが。(_ _)
>取っています
採っています
メイさん
貴重なコメントありがとうございます。
>A画面のボタンが押されたタイミングでA画面を閉じ、B画面を呼び出す。
>としたらできるかと。(やったことないけど)
とありますが、実際にその方法でプログラムしたいです。
ですが、勉強不足で方法が解りません。(調べ足りないというのもあります。)
何か、参考になるプログラミング等がございましたら、幸いです。
よろしくお願いします。
「画面を閉じる」というのは、「画面を非表示にする」でもいいですか?
A画面のclass→CDlgA
B画面のclass→CDlgB
A画面にある「B画面を開くボタン」で呼ばれる関数→CDlgA::OnButton1()
とすると、
void CDlgA::OnButton1()
{
CDlgB dlgB;
ShowWindow( SW_HIDE );
dlgB.DoModal();
ShowWindow( SW_SHOW );
}
こんなんで、一応お望みの事はできそうです。
tib さん
貴重なコメントありがとうございます。
出来ました。
もう少しご質問させてください。よろしくお願いします。
質問内容:
Aの画面からボタンを押下し、Bの画面へ表示しました。
今度は、Bの画面にもボタンがあり、
Bの画面でボタンを押下した場合、Cの画面を表示します。
その時は、A、Bの画面を非表示にしたいです。
Cの画面が終了した時に、Aの画面を表示する事は出来ますか。
また、Aの画面を終了すると全ての画面が終了している
状態にしたいのです。
参考になるプログラミング等がございましたら、幸いです。
本当にお世話になっております。
「SWAP32」と言うサンプルを探してください
ここの過去検索を行ってもらえば、サンプルの場所や、ソースの解説
いじるポイント以前に書いてあります
またこのサンプルの難点についても、他の回答者の方に書いてもらった
物が有ると思います
> Cの画面が終了した時に、Aの画面を表示する事は出来ますか。
できます。
先の私のアドバイスを応用すれば自ずと答えが出てくるでしょう。
woodさん
tibさん
ありがとうございます。
アドバイス通り、がんばりたいと思います。