- ベストアンサー
モードレスダイアログをメインウインドウの上にもって来るには?
モードレスダイアログはクリックすると、メインウィンドウの上に来ますよね。 また、メインウィンドウをクリックするとダイアログの上にきます。 これを、メインウィンドウをクリックするとメインウィンドウはアクティブになるけれど、ダイアログの上に来ないようにしたいのですが、どうすれば良いですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>どうしてなのでしょうか??? そういう時は、MFCのソースをデバッグしましょう CWnd*の値がNULLだったら何かを入れるという処理が必ずあるはずなんで。 そこで取得できてないんでしょうかねぇ
その他の回答 (2)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
>>そこで取得できてないんでしょうかねぇ > >そういうことなのですね。 >分かりました。 あくまでもMFCのソースを眺めただけです。 デバッグして確かめたわけではないので、 本当にそうなのか、実際どういうエラーが返って きているのかはわかりませんが。
お礼
回答ありがとうございます。
- taka_tetsu
- ベストアンサー率65% (1020/1553)
前の質問のソースより変更 dlg->Create(IDD_DIALOG1, this);
お礼
回答ありがとう御座います。 前の質問の求めていた答えはこれでした。 こうするとダイアログのOnDestroy() が実行されるようになりました。 あと、thisの変わりにNULLを指定すると、ダイアログ オブジェクトの親ウィンドウはメイン アプリケーション ウィンドウになります。 とヘルプにありました。 今回の場合はthisはメインウィンドウのことだと思うのですが、メイン アプリケーション ウィンドウとメインウィンドウは 同じものではないのでしょうか? なぜなら、NULLを指定した場合は、ダイアログが常に上に来るようになりません。 どうしてなのでしょうか???
お礼
回答ありがとう御座います。 >そこで取得できてないんでしょうかねぇ そういうことなのですね。 分かりました。