掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
処理中ダイアログ表示中にタスクバーが効かない (ID:60961)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
もうみてないかもしれませんが・・・。 > クラスを作ってCreateする形式なので、ダイアログプロシージャとかはないです。 これは大間違い。 MFCは単にWin32をクラスというかたちでラッピングしてるだけで、 内部の機構が変わるわけではありません。 Win32のダイアログプロシージャはMFCでのOnXXXにあたります。 > 処理スレッド内でプログレスバーの更新&UpdateWindowを行っている箇所に > if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){ > ::TranslateMessage(&msg); > ::DispatchMessage(&msg); > } これでも動きますが良い設計とは言えません。 場当たり的な対処は後の改修などをし辛くさせます。 本来は処理スレッドとダイアログ用のスレッドを分けるか イベントハンドラ内でブロックしないようにすべきです。 またはメインダイアログ用のスレッドに処理中ダイアログの 表示などを統合したり、 メインダイアログのスレッド・処理スレッド・処理中ダイアログのスレッド の3つのスレッド構成にすべきです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.