WINDOWS状态栏也称系统托盘,在WINDOWS9X中已有系统时钟、音量控制、输入法等程序在WINDOWS的状态栏中设有图标,一些应用程序在安装完后也将它们本身的图标放入了状态栏中,如超级解霸、WINAMP等。通过在应用程序中有效地控制状态栏中的图标,不仅可以使应用程序具有专业水准,也方便了用户的操作。VB做为一种使用很广的高级语言,实现将图标放入状态栏的功能并不困难,只要有效地利用一个API函数 Shell_NotifyIcon和NOTIFYICONDATA数据结构就能达到这一目的,有关这两者的定义和使用在程序中有详细的注释,在此就不再详述了。
下面的这个程序运行后,将窗口图标加入到了WINDOWS状态栏中,用鼠标右击该图标会弹出一个菜单,可实现修改该图标、窗口复位、最小化、最大化及关闭程序等功能。
在VB6中新建一工程,将FORM1的ScalMode的属性设为3,加入一个image控件和一个对话框控件(要加入对话框控件,须在部件中选取Microsoft Common Dialog Control 6.0),将image1的visible属性改为False,为该Form添加一个菜单,菜单设置如下:
标题 |
名称 |
文件(&F) |
mnuFile (一级菜单) |
退出(&E) |
mnuExit (二级菜单) |
Popup |
mnuTray (一级菜单,去掉该项的"可见"项) |
更换图标(&I) |
mnuTrayChangeIcon (以下全为二级菜单) |
恢复(&R) |
mnuTrayRestore |
最小化(&N) |
mnuTrayMinimize |
最大化(&X) |
mnuTrayMaximize |
- |
mnuTrayLine |
关闭(&C) |
mnuTrayClose |