• ベストアンサー

モードレスダイアログをメインウインドウの上にもって来るには?

モードレスダイアログはクリックすると、メインウィンドウの上に来ますよね。 また、メインウィンドウをクリックするとダイアログの上にきます。 これを、メインウィンドウをクリックするとメインウィンドウはアクティブになるけれど、ダイアログの上に来ないようにしたいのですが、どうすれば良いですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>どうしてなのでしょうか??? そういう時は、MFCのソースをデバッグしましょう CWnd*の値がNULLだったら何かを入れるという処理が必ずあるはずなんで。 そこで取得できてないんでしょうかねぇ

VitaminBB
質問者

お礼

回答ありがとう御座います。 >そこで取得できてないんでしょうかねぇ そういうことなのですね。 分かりました。

その他の回答 (2)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.3

>>そこで取得できてないんでしょうかねぇ > >そういうことなのですね。 >分かりました。 あくまでもMFCのソースを眺めただけです。 デバッグして確かめたわけではないので、 本当にそうなのか、実際どういうエラーが返って きているのかはわかりませんが。

VitaminBB
質問者

お礼

回答ありがとうございます。

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

前の質問のソースより変更 dlg->Create(IDD_DIALOG1, this);

VitaminBB
質問者

お礼

回答ありがとう御座います。 前の質問の求めていた答えはこれでした。 こうするとダイアログのOnDestroy() が実行されるようになりました。 あと、thisの変わりにNULLを指定すると、ダイアログ オブジェクトの親ウィンドウはメイン アプリケーション ウィンドウになります。 とヘルプにありました。 今回の場合はthisはメインウィンドウのことだと思うのですが、メイン アプリケーション ウィンドウとメインウィンドウは 同じものではないのでしょうか? なぜなら、NULLを指定した場合は、ダイアログが常に上に来るようになりません。 どうしてなのでしょうか???

関連するQ&A