编程中国-托盘程序轻松实现
来源:百度文库 编辑:神马文学网 时间:2024/06/03 09:08:16
http://www.bc-cn.net/Article/kfyy/vb/kjjj/200512/2437.html
托盘,亦即程序最小化后程序图标隐藏到屏幕右下角的任务栏里。这种最小化方法比普通的最小化节约空间,因此备受欢迎,很多软件都具有这样的功能。在VB中,可用API函数来实现托盘功能,但比较复杂,不太好操作。这里给大家介绍一种非常简单易行的方法:控件法。
说到控件,大家可能要皱眉头了:去哪找呀?放心!这个控件就躺在你的VB安装盘里!不过,得处理一下:请在COMMON\TOOLS\VB\UNSUPPRT文件夹里查找一个名叫Systray的目录,将它拷贝到硬盘,用VB打开该目录下的工程,必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx控件,可以随意命名。为方便使用起见,最好编译到Windows\System目录下。好了,现在我们就可以在我们的程序中使用此控件来轻松实现托盘功能了。添加控件的方法就不用我说了吧?
该控件最主要的属性是InTray属性:设置为True时程序图标出现在任务栏右边,设置为False时从任务栏中清除图标。此外还有图标属性TrayIcon(程序出现在任务时的图标样式)、TrayTip属性(鼠标移到该图标时出现的ToolTip字样)等,都是我们所熟悉的东西,一看就知道。
该控件的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏中控制程序的目的。你会发现这也是很简单的,我就不罗嗦了。
下面给个例子。运行此例,点击最小化按钮,程序界面消失,程序图标(确切地说是CsysTray控件的图标)出现在任务栏右边;点击任务栏右边的图标,程序恢复到原状。
‘最小化程序到任务栏的右边
Private Sub Form_Resize()
If Me.WindowState = 1 Then ‘如程序为最小化则——
cSysTray1.InTray = True ‘隐藏到任务栏
Me.Visible = False ‘让程序界面不可见
End If
End Sub
‘恢復程序到屏幕
Private Sub CsysTray1_MouseDown(Button As Integer, Id As Long)
Me.WindowState = 0 ‘程序回复到Normal状态
Me.Visible = True ‘从任务栏中清除图标
cSysTray1.InTray = False ‘令程序界面可见
End Sub
托盘,亦即程序最小化后程序图标隐藏到屏幕右下角的任务栏里。这种最小化方法比普通的最小化节约空间,因此备受欢迎,很多软件都具有这样的功能。在VB中,可用API函数来实现托盘功能,但比较复杂,不太好操作。这里给大家介绍一种非常简单易行的方法:控件法。
说到控件,大家可能要皱眉头了:去哪找呀?放心!这个控件就躺在你的VB安装盘里!不过,得处理一下:请在COMMON\TOOLS\VB\UNSUPPRT文件夹里查找一个名叫Systray的目录,将它拷贝到硬盘,用VB打开该目录下的工程,必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx控件,可以随意命名。为方便使用起见,最好编译到Windows\System目录下。好了,现在我们就可以在我们的程序中使用此控件来轻松实现托盘功能了。添加控件的方法就不用我说了吧?
该控件最主要的属性是InTray属性:设置为True时程序图标出现在任务栏右边,设置为False时从任务栏中清除图标。此外还有图标属性TrayIcon(程序出现在任务时的图标样式)、TrayTip属性(鼠标移到该图标时出现的ToolTip字样)等,都是我们所熟悉的东西,一看就知道。
该控件的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏中控制程序的目的。你会发现这也是很简单的,我就不罗嗦了。
下面给个例子。运行此例,点击最小化按钮,程序界面消失,程序图标(确切地说是CsysTray控件的图标)出现在任务栏右边;点击任务栏右边的图标,程序恢复到原状。
‘最小化程序到任务栏的右边
Private Sub Form_Resize()
If Me.WindowState = 1 Then ‘如程序为最小化则——
cSysTray1.InTray = True ‘隐藏到任务栏
Me.Visible = False ‘让程序界面不可见
End If
End Sub
‘恢復程序到屏幕
Private Sub CsysTray1_MouseDown(Button As Integer, Id As Long)
Me.WindowState = 0 ‘程序回复到Normal状态
Me.Visible = True ‘从任务栏中清除图标
cSysTray1.InTray = False ‘令程序界面可见
End Sub
编程中国-托盘程序轻松实现
MFC程序最小化到托盘
VC++实现插件编程
程序家园--vc编程--程序示例
动画托盘函数 - ShowLong的编程专栏 「C Root」 @ 2006
轻松实现Apache,Tomcat
关于C#托盘图标控件NotifyIcon的气泡提示-程序开发-红黑联盟
编程中国 - 进程、线程调度模型及其在Windows2000中的实现
S3C2410 中断程序的实现
Socket编程指南及示例程序
Socket编程指南及示例程序
Excel轻松实现自动换行
轻松实现消费致富(转载)
轻松让孩子成为编程高手
轻松让孩子成为编程高手2
C++ STL编程轻松入门(perfect)
PHP中实现面向对象编程
利用Winsock控件实现FTP编程
VC++内部COM插件的编程实现
用VB轻松调用其他程序
ASP 程序实现自动升级功能
Linux下Sniffer程序的实现
|在C#程序中实现插件架构
绩效考核中的程序公正及实现