AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
Delphi2010 トレイアイコン(TrayIcon) 2010/09/22
 
前回は[Additional]内の「TabSet」(タブセット)について見ましたので、今回は同じく[Additional]内の「TrayIcon」(トレイアイコン)について見てみます。トレイアイコンは Delphi6 にはありません。

 
トレイアイコンは、システムトレイ(Windowsのタスクバーの右側、右端の時計の左側に並んでいるアイコンのあるトレイ)にアイコンを表示させる事が出来ます。システムトレイには、常駐アプリケーションや、Windowsのスタートアップで起動させたいアプリケーションを作成したときに、そこにアイコンを表示させたい、というような場合に利用できると思います。取り合えず配置してみます。1つ目ですので Nameプロパティは「TrayIcon1」となります。

 
まずは、どんなアイコンを表示させたいのかを指定します。
取り合えずテストなので、テスト7で作成したフォルダ風のアイコンを利用してみます。というわけで、<オブジェクトインスペクタ>にて、Iconプロパティで、テスト7で作成した「Icon1.ico」を指定します。



 
次に、Visibleプロパティを True にします。(デフォルトは False です)

 
それでは、保存・コンパイル(再構築)・実行をしてみます。
タスクバーの右側、システムトレイを見てみて下さい(下記は Windows7 での表示です)

 
プログラムを終了すると、このトレイアイコンも消えます。これを行ったからといって、これだけで常駐プログラムになる訳ではありません。しかし、簡単にシステムトレイにアイコンが表示出来るようになります。従来であれば、Shell_NotifyIcon を使って少しややこしい処理をしないといけないのですがこれを使えば簡単ですね。
 
アイコンは、恒例のイメージリストを使って指定する事も出来ますが、イメージリストを使うとアイコンのアニメーションを行う事が出来ます(※ぱらぱら漫画のようなアニメーションです)ので面白いかもしれません。まずは、[Win32]内にあるイメージリスト(ImageList)を配置します。



イメージリスト ImageList1 を 右クリックメニュー「イメージリストの設定」或いはダブルクリックをして、アイコンを追加します。一度に複数指定すると一括して追加できます。





 
<オブジェクトインスペクタ>でトレイアイコン TrayIcon1 の Iconsプロパティを「ImageList1」にします。最初に表示するアイコンは IconIndexプロパティで指定出来ます(デフォルト値:0)。そして、Animateプロパティを True にします。アニメーションの切替時間はそのすぐ下にある AnimateIntervalプロパティでミリ秒単位での指定で出来ます(※様々な要因で遅れる事もあるでしょうから小さい値を正確に指定するという事は出来ないと思います)。デフォルトは「1000」(1000ミリ秒=1秒)となっています。



 
それでは、保存・コンパイル(再構築)・実行をしてみます。
タスクバーの右側、システムトレイを見てみて下さい。







 
次に、マウスをシステムトレイのアイコンに合わせたときに、Hint プロパティを指定しておけば、ヒントメッセージを表示出来るようになります。

↓ 実行すると・・・

 
また、<オブジェクトインスペクタ>では バルーンヒントについてのプロパティがあります。BalloonTitleプロパティはバルーンヒントのタイトル、BalloonHintプロパティはバルーンヒントのメッセージ、BalloonTimeoutプロパティはバルーンヒントが消える時間(ミリ秒指定;デフォルト10000=10秒)、BalloonFlagプロパティはバルーンヒントに表示されるアイコンです。「bfNone」(なし)、「bfInfo」(情報)、「bfWarning」(警告)、「bfError」(エラー)から指定出来ます。

 
バルーンヒントを表示させる場合には
TrayIcon1.ShowBalloonHint;
を実行します。起動時に表示したい場合にはフォームの OnShowイベントハンドラ、ボタンをクリックした時であれば OnClickイベントハンドラ、等でこのメソッドを実行させればよいです。

 
<オブジェクトインスペクタ>のイベント頁では、各種のイベント時の処理(イベントハンドラ)を記述することが出来ます(以下、ヘルプより;※OnBalloonClickを除く←ヘルプに記述がありませんので)。
OnAnimateトレイアイコンがアニメーション表示されている場合に,アイコンが変化するたびに発生します。
OnBalloonClickバルーンヒントをクリックしたときに発生します。
OnClickユーザーがトレイアイコンをクリックしたときに発生します。
OnDblClickユーザーがトレイアイコンをダブルクリックしたときに発生します。
OnMouseDownユーザーがマウスポインタをコントロール上に置き,マウスボタンを押したときに発生します。
OnMouseMoveユーザーがマウスポインタをトレイアイコン上に置き,マウスポインタを移動したときに発生します。
OnMouseUpユーザーがコンポーネント上にマウスポインタを置いて押したマウスボタンから指を離したときに発生します。
 
 
システムトレイにアイコンを表示して実行を行うタイプのアプリケーションは通常、フォームの画面は表示せず最小化(アイコン化)表示状態で起動させるかもしれません。最小化をするとデスクトップ上にタイトルバーだけが表示されたり、タスクバーにもアプリケーションは表示されたりしますが、これを表示させない特殊なコーディングを行うかもしれません。また、このタイプのアプリケーションは、終了と指示しても終了させないかもしれませんし、Windowsが終了する時にこのアプリケーションも終了する、という特殊な動きをするかもしれません。そうなってくると、時間割り込みで指定時間毎に実行する常駐的なアプリケーションになる場合も多いと思われます。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/09/21
 2010/09/22
▼2010/09/23
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.