其實,在 Borland C++ Builder 5.0 中編寫Tray程序是件很簡單的事。在安裝 Borland C++ Builder 5.0 時選擇Full(完全)安裝,安裝完成後,在Samples組件頁中有一個TrayIcon組件,它封裝編寫Tary所需的Window API函數,使用該組件編寫Tary程序不用加一句程序代碼,真是易如反掌。
首先,我們先看一下TrayIcon組件常用的屬性:
屬性說明
Animate設爲true時,順序更改Icons屬性設置的圖標
AnimateInterva設置更改圖標的時間(單位:毫秒)
Hide設爲true時,最小化時隱藏在任務欄上的標題欄
Hint設置鼠標移動到Tary圖標上出現的提示信息
IconIndex設置圖標索引值
Icons設置圖標源(通常設置一個ImageList組件)
PopupMenu設置要彈出的菜單(通常設置一個PopupMenu組件)
PopupMenuOn設置觸發彈出菜單的鼠標操作
RestoreOn設置恢復最小化到正常狀態的鼠標操作
Visible設爲true時,在任務欄最右邊顯示圖標
鼠標操作說明:
值說明
imClick鼠標單擊
imDoubleClick鼠標雙擊
imLeftClickUp單擊鼠標左鍵,放開
imLeftDoubleClick雙擊鼠標左鍵
imMouseDown按下鼠標鍵
imMouseUp按下鼠標鍵,放開
imNone不設置鼠標操作
imRightClickUp單擊鼠標右鍵,放開
imRightDoubleClick雙擊鼠標右鍵
下面讓我們來編一個簡單的Tary程序:
1、新建工程,添加一個TrayIcon組件、一個PopupMenu組件和一個ImageList組件。它們的Name屬性
都用默認的名字:TrayIcon1、PopupMenu1、ImageList1。
2、設置TrayIcon1的屬性,如下:
屬性值 linux
Animate true
AnimateInterva 1000
Hide true
Hint Tary演示程序
IconIndex 0
Icons ImageList1
Name TrayIcon1
PopupMenu PopupMenu1
PopupMenuOn imRightClickUp
RestoreOn imDoubleClick
Visible true
3、雙擊PopupMenu1,彈出菜單設計器,隨意地加入幾個菜單項。
4、雙擊ImageList1,加入支持的圖片(*.ico、*.bmp)。
到此,不用編寫一句程序代碼,一個簡單的Tary程序就做好了。按F9編譯運行,將鼠標移動到Tary上面就會出現“Tary演示程序”的提示信息;在Tary上單擊鼠標右鍵彈出菜單Popmenu1;按下程序窗口的最小化按鈕,程序最小化後隱藏任務欄上的標題欄;雙擊Tary將會恢復程序最小化;而且,Tary圖標以1000毫秒(1秒)的速度變換。夠簡單了吧?!
TaryIcon組件的演示源程序在 Borland C++ Builder 5.0 安裝目錄下的/CBuilder5/Examples/Apps/TrayIcon。若你不想使用TaryIcon組件編寫Tary,只想使用API函數,可以參考安裝目錄/CBuilder5/Examples/Controls/Traydemo下的源程序
注意以下幾點:
1、這個控件的托盤圖標要使用到TimageList控件,請設置其Icons屬性和對應的TimageList關聯就可以
了,如果圖標要變化,TimageList中要有多個圖標,用TrayIcon控件的IconIndex的值的改變來改變託
盤圖標。
2、最小化和隱窗體應該用: TrayIconMe->Minimize()來實現
還原窗體用:TrayIconMe->Restore()。
3、至於菜單的彈出就在窗體上加一個PopupMenu控件就可以了,PopupMenu的設定和一般的設定沒有什
麼不同。然後把TrayIcon控件的PopupMenu屬性和PopupMenu控件關聯起來就可以了。當然,別忘了
設定一個PopupMenuOn屬性,決定這個菜單的鼠標觸發方式。
4、當鼠標指向托盤時,顯出的字是TrayIcon的Hint屬性來設定的