• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:メインダイアログが最背面に表示されてしまいます。)

メインダイアログが最背面に表示されてしまいます

このQ&Aのポイント
  • C++のダイアログベースのプログラムを作成している際に、メインダイアログにて他ダイアログを別スレッドでモーダル表示させた場合、他ダイアログを閉じた際にメインダイアログが最背面になる現象が起きます。原因は何でしょうか?
  • メインダイアログが他ダイアログをAfxBeginThread()で別スレッドで表示させた場合、他ダイアログを閉じた際にメインダイアログが最背面に表示されてしまう問題が発生します。この原因を解決する方法を教えてください。
  • Visual Studio 2005でC++のダイアログベースのプログラムを作成しています。メインダイアログにて別スレッドで他ダイアログをモーダル表示させた際、他ダイアログを閉じるとメインダイアログが最背面になってしまう問題が発生します。この問題を解決する方法をご存知の方はいますか?

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

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.1

確認もテストもしてないので違ってたらすいません スレッドで表示しているDialogのオーナが設定されずに そのようになったような記憶があります オーナーとしてメインダイアログのハンドルを渡せばよかったような 他の方法として(実装できるかどうかはアプリによるのでなんともいえない) スレッドの方から直接Dialogを開くのではなく メインダイアログにメッセージを飛ばして メインダイアログではそのメッセージを受け取ったらDialog表示するとか

fujtomo
質問者

お礼

koi1234様、ご回答ありがとうございます。 なるほど、オーナー設定しなければこのような症状が発生するのですね。 確かに、koi1234様のおっしゃるようにわざわざスレッドをその都度作成して呼び出すよりはメインダイアログでPostMessageして、ダイアログを呼び出した方がよさそうですね。 実際、そのようにプログラムを変更したところ、メインダイアログが最背面になる症状は発生しませんでした。 参考となるご意見大変ありがとうございました!!

関連するQ&A

専門家に質問してみよう