您的位置:首页 > 编程语言 > VB

VB6.0实现点击窗体的系统最小化或关闭按钮将窗体最小化到系统托盘区

2014-03-03 16:51 1076 查看
托盘,亦即程序最小化后程序图标隐藏到屏幕右下角的任务栏里。这种最小化方法比普通的最小化节约空间,因此备受欢迎,很多软件都具有这样的功能。在VB中,可用API函数来实现托盘功能,但比较复杂,不太好操作。
      相对而言采用一种非常简单易行的方法:控件法,才是最适合最方便的。下面要使用已被微软封装好的控件:csystray1(名称可自定)。
      说到控件,大家可能要皱眉头了:去哪找呀?放心!这个控件就躺在你的VB安装盘里(目录为:COMMON\TOOLS\VB\UNSUPPRT\SYSTRAY)!不过,得处理一下:请在Tool文件夹里查找一个名叫Systray的目录,将它拷贝到硬盘,用VB打开该目录下的工程,必要的话可作些改进(如更换图标、添加功能等),然后编译成ocx控件,可以随意命名。为方便使用起见,最好编译到Windows\System目录下。好了,现在我们就可以在我们的程序中使用此控件来轻松实现托盘功能了。vb中添加控件的方法就不用我说了吧?

控件的属性和事件浅析:
     该控件的InTray属性是用来设置是否显示在托盘中,True为显示在托盘,False为不显示;
     该控件的TrayIcon属性是在托盘中显示的图标式样;
     该控件的TrayTip属性是鼠标移动到该控件上面时,显示的提示文字;
     该控件的重要事件是几个我们常用的鼠标事件:按下、放开、移动、双击,编程时就是利用这些事件达到在任务栏中控制程序的目的。

源代码如下:

'点击系统最小化按钮,程序显示到系统托盘
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 '令程序界面可见
Me.setfocus
End Sub

 

'点击系统关闭按钮,程序显示到系统托盘

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

    Cancel = 1

    cSysTray1.InTray = True '隐藏到任务栏

    Me.Visible = False '让程序界面不可见

End Sub
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐