まず、ここで何をしたいのかを説明します。フレームを表示しているダイアログボックスがあります。このダイアログのメニューを使用して、最初のダイアログのマクログリッドブロック情報を表示する別のダイアログボックスを開きます。したがって、2番目のダイアログボックスを表示するために、関数を使用しています:DialogBox(hInst、MAKEINTRESOURCE(IDD_DIALOG1)、NULL、DialogProc); ただし、これによりプログラムの実行が新しいダイアログボックスに転送され、新しいダイアログボックスを閉じない限り、最初のダイアログでそれ以上のメッセージを処理できません。
誰かがこの問題を解決する方法を教えてもらえますか?モーダルvsモードレスダイアログボックスと同じですか?
誰かが私にこの目的のためにBackgroundWorkerスレッドを使用するように提案しました。しかし、私がそれについて研究しようとしたとき、私はそれがwin32プログラミングでは機能しないことを多くの場所で読みました。代わりに、いくつかのフォーラムで、同じ目的でPostMessage関数を使用する方法について読みました。誰かがこの問題を処理するための最良のアプローチを決定するのを手伝ってもらえますか?誰かがそれを詳細に説明してくれたら本当にありがたいです。
どうもありがとう。