![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
お世話になります、fujitomoです。
C++のダイアログベースのプログラムを作成しているのですが、ご質問
させていただきたい件がありまして、こちらへ書かせて頂きました。
質問させて頂きたい内容は、メインダイアログにて、他ダイアログをAfxBeginThread()を用いて別スレッドでモーダル表示させた時、その他ダイアログを他ダイアログ内でEndDialog(IDOK)で閉じた際に、メインダイアログが最背面になってしまうのですが、この原因として考えられることはありませんでしょうか?
ちなみに、他ダイアログを別スレッドではなく、メインダイアログ内にてモーダル表示をし、EndDialog(IDOK)で閉じた際には、メインダイアログが最背面になることはありませんでした。
参考となるご意見がありましたら、よろしくお願い致します。
開発環境は
Visual Studio 2005です。
No.1ベストアンサー
- 回答日時:
確認もテストもしてないので違ってたらすいません
スレッドで表示しているDialogのオーナが設定されずに
そのようになったような記憶があります
オーナーとしてメインダイアログのハンドルを渡せばよかったような
他の方法として(実装できるかどうかはアプリによるのでなんともいえない)
スレッドの方から直接Dialogを開くのではなく
メインダイアログにメッセージを飛ばして
メインダイアログではそのメッセージを受け取ったらDialog表示するとか
koi1234様、ご回答ありがとうございます。
なるほど、オーナー設定しなければこのような症状が発生するのですね。
確かに、koi1234様のおっしゃるようにわざわざスレッドをその都度作成して呼び出すよりはメインダイアログでPostMessageして、ダイアログを呼び出した方がよさそうですね。
実際、そのようにプログラムを変更したところ、メインダイアログが最背面になる症状は発生しませんでした。
参考となるご意見大変ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- YouTube Win10 Youtubeの動画を開くと、必ず右下に設定ダイアログ?が表示されます 2 2023/03/26 11:35
- ゲーム フォートナイトがクラッシュする 3 2022/09/19 07:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- C言語・C++・C# Seleniumで「ファイルを開く」ダイアログボックスのフォルダ指定する方法を教えてください。 1 2022/05/09 07:38
- その他(Microsoft Office) Office(Windows版,Word/Excel/PowerPoint等)にログインできません 4 2022/07/24 15:18
- その他(プログラミング・Web制作) pythonでアプリが終了されたときに特定の処理を実行したい 2 2023/01/19 17:13
- Windows 10 MSアカウントの「個人設定をクラウドから削除します」は機能していないのでしょうか? 1 2022/11/20 17:01
- Visual Basic(VBA) Application.Dialogs(xlDialogFileDelete).Showの件 1 2023/02/22 10:02
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows Vista、7でのマルチス...
-
KENT "Web Patio" のトピックス...
-
c#のメソッドjoinが機能しない
-
メインダイアログが最背面に表...
-
ユーザーインターフェイスの一...
-
【C++】boost threadについて
-
Macターミナルで実行中のプログ...
-
タスクマネージャーのプロセス...
-
C言語で、メモリを解放しないで...
-
explorer.exeが異様にメモリを食う
-
家電製品の電力周波数を変える機械
-
メモリアロケーション異常の発...
-
VBA kernel32 の意味
-
C++からCへのソース変換について
-
ストール監視の監視方法
-
C++でCtrl+Cを無効化したい
-
非表示になったエクセルは?
-
Mac 乗数の入力方法
-
指定したフォルダーを最前面表...
-
Excel VBA データ削除の高速化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
スレッドの安全な終了のさせ方
-
Windows上で、シグナル(SIGTERM...
-
マルチスレッドプログラミング...
-
スレッドの終了の仕方
-
スレッドにて同一メモリの書き...
-
VB2005 シリアル通信のClose処理
-
スレッドの終了はどうやるんで...
-
スレッドでWM_TIMERを受け取れない
-
同一スレッドで、ロックをかけ...
-
マルチスレッドのスレッド数を...
-
pthread_cond_wait 取りこぼし?
-
MFC通信プログラムマルチスレッ...
-
LinuxでDoEvents()同等機能
-
WaitForMultipleObjectのイベン...
-
【VC++6.0(MFC)】スレッドの呼...
-
待機関数(WaitForMultipleObjec...
-
CWnd::OnTimerのスレッドの取得
おすすめ情報