其实,在 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属性来设定的