Delphi10.3下自帶系統托盤 TrayIcon的使用

(0)老式提示ide

(1)「氣泡提示」的製做測試

(2)動態圖標spa

(3)右鍵菜單指針

  (4)最小化和還原窗口code


 (0)老式提示,隨鼠標指針的提示文本, 這是老式的, 下面有新型的orm

 TrayIcon1.Hint:='asdfad';


 ( 1 )「氣泡提示」的製做blog

    第一步:在窗體中放置 TrayIcon 控件( Additional 面板中能夠找到)。事件

    第二步:設置 TrayIcon 的 Icon 圖標,載入一個 ICO 文件。it

    第三步:設置 TrayIcon 的 BalloonHint 爲「 Delphi10.3塗磊」,設置 BalloonTitle 爲「托盤測試」。設置 Visible 爲 True 。io

    第四步:雙擊窗體,在 OnCreate 事件中寫入下面代碼: 

TrayIcon1.Animate:=true;
TrayIcon1.BalloonFlags := bfInfo;//bfNone,bfInfo,bfWarning,bfError四種類型
TrayIcon1.Hint:=self.Caption;
TrayIcon1.BalloonTitle:='提示';
TrayIcon1.BalloonHint:='請注意後電腦即將進入鎖定狀態.';
TrayIcon1.BalloonTimeout:=1000;
TrayIcon1.Visible:=True;
TrayIcon1.ShowBalloonHint;

    好了, F9 運行程序,一個「氣泡提示」就會出如今圖標上。屬性中的 BalloonTimeout 是設置「氣泡提示」多少秒後消失,默認是 1秒。


   ( 2 )動態圖標

    咱們你們都知道,當有 QQ 消息時,托盤中會有一個閃爍圖標,使用 TrayIcon 控件能夠很是容易地實現這個功能。

    使圖標動起來,其實就是使用多個圖標進行切換。QQ 的閃爍圖標,其實就是使用的兩個圖標來進行切換的,一個是頭像圖標,一個是空的圖標。

    下面咱們就來模擬 QQ 頭像閃爍功能:

    第一步:在窗體上放置 ImageList 控件(在 Win32 面板中能夠找到)。

    第二步:設置 ImageList 控件的 Width 和 Height 屬性爲 32 ,而後雙擊 ImageList ,點擊「 Add 」按鈕添加圖標文件。第一個添加的是要顯示的圖標,第二個添加一個空的圖標(能夠使用 Image Editor 新建一個 ICO 文件,而後直接保存便可獲得一個空的圖標。)。

    第三步:設置 TrayIcon 的 Icons 屬性爲 ImageList1 (能夠直接在列表中選擇)。

    第四步:在 Form1 的 OnFormShow 事件中加入下面的代碼:

    TrayIcon1.Animate := True;

    TrayIcon1.AnimateInterval := 450;

    當 Animate 爲 True 時,將自動按 ImageList 控件中圖標的順序進行依次顯示,造成動態效果。 AnimateInterval 爲每隔多少時間顯示下一個圖標。若是要中止閃爍,將 Animate 設置爲 False 便可。


(3)右鍵菜單

第一步:在窗體上放置PopupMenu1

第二步:雙擊PopupMenu1,添加菜單

第三步:設置 TrayIcon1 的 PopupMenu屬性爲 PopupMenu1 (能夠直接在下拉列表中選擇)。

 運行中,在托盤圖標上右鍵即彈出菜單


  (4)最小化和還原窗口

第1步:在窗體上放置一個ApplicationEvents1,雙擊

第2步:隱藏主窗體

procedure TForm6.ApplicationEvents1Minimize(Sender: TObject);
begin
  Hide(); // 隱藏主窗體
  Self.WindowState := TWindowState.wsMinimized;  // 最小化  不在任務欄上顯示
end;

第3步:顯示主窗口,

procedure TForm6.N12Click(Sender: TObject); // 返回,顯示主窗口
begin
  Self.Show();
  Self.WindowState := TWindowState.wsNormal;
  Application.BringToFront(); // 前靠
end;

雙擊托盤圖標,顯示主窗口,複用上面代碼

相關文章
相關標籤/搜索