解決したい課題 MFCを使ったソフトにおいて重い処理をしている最中に、進捗等を表示するダイアログを表示したくなることは多々ある。しかし、単純にダイアログを作って表示しようとしても、以下のようにうまく行かないことが多い。 重い処理が終わるまでダイアログが表示されない ダイアログは表示されるが、表示内容が更新されない 何が原因か これらが起きるのは、今の処理が終わらないとダイアログを表示するための処理が実行されないためである。ダイアログの表示やコントロールの変更を処理するメッセージはダイアログのメッセージプロシージャで処理されるのだが、困ったことにこのメッセージプロシージャは、デフォルトではメインウィンドウのメッセージプロシージャに接続されてしまうようなのだ。そのため、メインウィンドウのメッセージプロシージャが重い処理によって応答しなくなった場合、ダイアログの方も応答が止まり上記の症状が発生す
![重い処理中にステータス(状態)を表示するダイアログの実装(ユーザーインターフェーススレッド) - ドナドナされるプログラマのメモ](https://cdn-ak-scissors.b.st-hatena.com/image/square/767765027d8e165150fb8cd9b9f56dffab76d56b/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fd%2Fdonadonasan%2F20200505%2F20200505102718.png)