- ベストアンサー
アイテムを点滅させる
VC6でダイアログベースのMFCプログラムを作成中なのですが、アイテムを点滅表示させたいと考えています。 ShowWindow()を使って実現しようとしているのですが、うまくいきません。 アイテムを点滅させるような関数はないのでしょうか? また、実装方法をご存知の方は教えていただけないでしょうか? すいませんが、よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
点滅されるということは、一定の時間の間隔を置いて描画させなければなりませんね。だから、SetTimer、KillTimerなどを使ってそのウィンドウにWM_TIMERのメッセージがくるようにしないといけません。 あとは#1の方の言うとおりだと思います。 タイトルを点滅させたいのなら、FlashWindowというSDK関数があるけど…そういうことではないんですよね。 Timers Overview http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/timers.asp
その他の回答 (1)
- xcrOSgS2wY
- ベストアンサー率50% (1006/1985)
そのアイテムが独立した1個のコントロールであれば、ShowWindow()でHIDEしておいてUpdateWindow()でしょうか。 アイテムがコントロールの中の一部(例えばリストボックスの中にある1項目)という場合は、正統なやり方としてはコントロールに表示(レンダリング)のアップデートをお願いするということになるのでしょうけど、コントロールにそのようなメソッドなりメッセージなりが用意されていない場合はInvalidateRect()してUpdateWindow()でしょうか。 アイテムを点滅させる関数、というのはちょっとなかったと思うので、定期的に点けたり消したりすることになります。
お礼
ありがとうございます。 回答いただいた方法で解決しました。 感謝します。 #確かにアイテムを点滅させる関数はありませんでした...。
お礼
SetTimerとKillTimerでタイマ制御し、プロシージャ関数でWM_TIMERメッセージをポストすることで無事に実現しました。 ありがとうございました。