07/04/07 13:39:04
親ダイアログの初期化処理が行われていることを知らせるために、
ポップアップダイアログを作って、プログレスバーで処理中が
わかるようにしようとしています。
プログレスバーは処理が行われていることが分かればよく、
タイマイベントに応じて単純にカウントアップするだけです。
具体的な手順として
①親ダイアログのOnInitDialogで、プログレスバーをもつ子ダイアログを作成
②子ダイアログのタイマイベントを起動(SetTimer)
③親ダイアログの初期化処理
(この間に、子ダイアログのWM_TIMERイベントでプログレスバーをカウントアップ)
④子ダイアログのタイマイベントを終了(KillTimer)
⑤親ダイアログのOnInitDialog終了
としています。
しかし意図した通りには動作しません。
原因として、②で起動したタイマイベントが、⑤のあとに動作を開始しているためです。
(④の処理をコメントアウトしたところ、親ダイアログの表示後に、
OnTimerイベントが呼び出されていることを確認しました。)
そこで質問なのですが、
(i) ②で起動したタイマが、実際は⑤のあとまで起動されない理由と、
(ii) ②で起動したタイマを、②のタイミングで動作させる方法
です。わかる方いらっしゃったらお願いします。