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

托盘,亦即程序最小化后程序图标隐藏到屏幕右下角的任务栏里。这种最小化方法比普通的最小化节约空间,因此备受欢迎,很多软件都具有这样的功能。在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

  • 1
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页