• ベストアンサー

アイテムを点滅させる

VC6でダイアログベースのMFCプログラムを作成中なのですが、アイテムを点滅表示させたいと考えています。 ShowWindow()を使って実現しようとしているのですが、うまくいきません。 アイテムを点滅させるような関数はないのでしょうか? また、実装方法をご存知の方は教えていただけないでしょうか? すいませんが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.2

点滅されるということは、一定の時間の間隔を置いて描画させなければなりませんね。だから、SetTimer、KillTimerなどを使ってそのウィンドウにWM_TIMERのメッセージがくるようにしないといけません。 あとは#1の方の言うとおりだと思います。 タイトルを点滅させたいのなら、FlashWindowというSDK関数があるけど…そういうことではないんですよね。 Timers Overview http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers.asp

harutoshi4165
質問者

お礼

SetTimerとKillTimerでタイマ制御し、プロシージャ関数でWM_TIMERメッセージをポストすることで無事に実現しました。 ありがとうございました。

その他の回答 (1)

  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

そのアイテムが独立した1個のコントロールであれば、ShowWindow()でHIDEしておいてUpdateWindow()でしょうか。 アイテムがコントロールの中の一部(例えばリストボックスの中にある1項目)という場合は、正統なやり方としてはコントロールに表示(レンダリング)のアップデートをお願いするということになるのでしょうけど、コントロールにそのようなメソッドなりメッセージなりが用意されていない場合はInvalidateRect()してUpdateWindow()でしょうか。 アイテムを点滅させる関数、というのはちょっとなかったと思うので、定期的に点けたり消したりすることになります。

harutoshi4165
質問者

お礼

ありがとうございます。 回答いただいた方法で解決しました。 感謝します。 #確かにアイテムを点滅させる関数はありませんでした...。

関連するQ&A