以前,エラそうに記事にした「プロジェクトウィアード」は結局,作者本人がなんとか実用出来るようになったところで妥協して開発停止…だったのですが,開発環境をTurbo Delphi Explorer (※無料版Delphi 2006)に移行したのでそれにあわせて修正しています.
その過程で気が付いたのですがDelphi 2006にはアイコントレイに常駐するためのコンポが標準で用意されているのですね.バルーンの表示も出来るようですし折角なのでこれを使うようにしてみました.
さて本題.TrayIconコンポ(ネットで配布されているコンポとは名前は同じですが別物です)にはイメージリストコンポと接続してトレイアイコンに表示するイメージを切り替える機能があります.
- トレイアイコンに表示する各イメージを格納しているイメージリストコンポを指定
- 参照しているイメージリストのどの番号の絵をアイコントレイに表示させるか(先頭が0です)
- Iconsプロパティ
- IconIndexプロパティ
実行中にアイコントレイに表示させるアイコンを切り替えるのが簡単にできて便利なのですが,どうも実行して一番最初にインデックス0を指定すると切り替わらないようです.そこで実行して一番最初の変更時には一度0以外のインデックスに切り替えてから0に切り替えるようにしました.実行したときに一度切り替えて戻してしまっても良いでしょう.ただしこのコンポはアイコンを切り替えるまではアプリケーションアイコンを表示しますのでイメージリストに格納しているイメージがいずれもアプリケーションアイテムと異なる場合はやはり実行して一番最初の変更時に切り替えて戻さなければならないでしょう.
「プロジェクトウィアード」は"weird"の名にふさわしくソフトのように似合わずますます怪しいソフトになってきました.しかし公開はまだ先になりそうです.