モーダルメッセージが表示されたら、処理を開始するには?

解決


マックス  2005-08-24 05:12:34  No: 58725

モーダルダイアログを使ったものを作っています。
  モーダルダイアログを表示されたら、処理を開始するようにしたいのですが、方法が思いつきません。
  「ダイアログを表示しきった」というような、メッセージはないのでしょうか?
  わかる方がいましたら、教えてください。おねがいします。


マックス  2005-08-24 07:57:27  No: 58726

すいません。題名がおかしくなってました。
  正しくは、「モーダルダイアログボックスが表示されたら、処理を開始するには?」です。


RAPT  2005-08-24 08:50:47  No: 58727

WM_SHOWWINDOW かな。試してないけど。
フラグと併用すればできそう。

表示する前でよければ、WM_INITDIALOGがありますが。


マックス  2005-08-24 09:08:57  No: 58728

RAPTさん、返信ありがとうございます。
WM_SHOWWINDOWを、試してみましたがウィンドウ表示前に呼ばれてしまいます。うまくすれば、できるものなのでしょうか?

やりたいことは、モーダルダイアログボックスが表示されたら処理を開始して、プログレスバーがたまったらボタンを押してそのダイアログボックスを消すというような、解凍ソフトなどのような動作をさせたいのです。


RAPT  2005-08-24 09:31:55  No: 58729

それなら普通に WM_INITDIALOG の最後辺りで呼んであげればいいのでは?
プログレスコントロールを処理するならタイマーを使うと楽です。

あと確か、ダイアログ生成時には、WM_SIZE も飛んできたような気がします。

タイマーで監視するなら、IsWindowVisible()なんかで確認できそうです。


マックス  2005-08-24 09:51:11  No: 58730

RAPTさん、返信ありがとうございます。

タイマーを使って処理してみたら、うまくいくことができました。
ほんとうに、ありがとうございました。


マックス  2005-08-24 11:04:10  No: 58731

解決チェックをいれわすれていました。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加