用VB6.0实现将窗体最小化到系统托盘区 两个方法均测试部分有效或完全有效

用VB6.0实现将窗体最小化到系统托盘区 两个方法均测试部分有效或完全有效,第1张

概述用VB6.0实现将窗体最小化系统托盘区 两个方法均测试部分有效或完全有效 1、新建立一个VB6工程,将Form1的ShowInTaskBar属性设置为False 2、菜单:工程--添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas 3、在Module1中写下如下代码: Option Explicit Public Const MAX_TOOLTIP As 用VB6.0实现将窗体最小化到系统托盘区 两个方法均测试部分有效或完全有效 1、新建立一个VB6工程,将Form1的ShowInTaskbar属性设置为False
2、菜单:工程--添加模块 按“打开”这样就添加了一个新模块,名为Module1,保存为Module1.bas
3、在Module1中写下如下代码:
Option Explicit
Public Const MAX_tooltip As Integer = 64
Public Const NIF_ICON = &H2
Public Const NIF_MESSAGE = &H1
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIM_DELETE = &H2
Public Const WM_MOUSEMOVE = &H200
Public Const WM_LbuttonDOWN = &H201
Public Const WM_LbuttonUP = &H202
Public Const WM_LbuttonDBLCLK = &H203
Public Const WM_RbuttonDOWN = &H204
Public Const WM_RbuttonUP = &H205
Public Const WM_RbuttonDBLCLK = &H206Public Const SW_RESTORE = 9
Public Const SW_HIDE = 0
Public nfIconData As NOTIFYICONDATA
Public Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * MAX_tooltip
End TypePublic Declare Function ShowWindow lib "user32" (ByVal hWnd As Long,ByVal nCmdshow As Long) As Long
Public Declare Function Shell_NotifyIcon lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal DWMessage As Long,lpData As NOTIFYICONDATA) As Long4、在Form1的Load事件中写下如下代码:Private Sub Form_Load()
'以下把程序放入System Tray====================================System Tray Begin
With nfIconData
.hWnd = Me.hWnd
.uID = Me.Icon
.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
.uCallbackMessage = WM_MOUSEMOVE
.hIcon = Me.Icon.Handle
'定义鼠标移动到托盘上时显示的Tip
.szTip = App.Title + "(版本 " & App.Major & "." & App.Minor & "." & App.Revision & ")" & vbNullChar
.cbSize = Len(nfIconData)
End With
Call Shell_NotifyIcon(NIM_ADD,nfIconData)
'=============================================================System Tray End
Me.HIDe
End Sub5、在Form1的queryUnload事件中写入如下代码:
Private Sub Form_queryUnload(Cancel As Integer,UnloadMode As Integer)
Call Shell_NotifyIcon(NIM_DELETE,nfIconData)
End Sub6、在Form1的MouseMove事件中写下如下代码:Private Sub Form_MouseMove(button As Integer,Shift As Integer,X As Single,Y As Single)
Dim lMsg As Single
lMsg = X / Screen.TwipsPerPixelX
Select Case lMsg
Case WM_LbuttonUP
'MsgBox "请用鼠标右键点击图标!",vbinformation,"实时播音专家"
'单击左键,显示窗体
ShowWindow Me.hWnd,SW_RESTORE
'下面两句的目的是把窗口显示在窗口最顶层
'Me.Show
'Me.SetFocus
'' Case WM_RbuttonUP
'' PopupMenu MenuTray '如果是在系统Tray图标上点右键,则d出菜单MenuTray
'' Case WM_MOUSEMOVE
'' Case WM_LbuttonDOWN
'' Case WM_LbuttonDBLCLK
'' Case WM_RbuttonDOWN
'' Case WM_RbuttonDBLCLK
'' Case Else
End Select
End Sub

7、现在将程序保存起来运行看看系统托盘处是否增加了一个本工程的图标。单击此图标,Form1就自动d出来了。---------


参考:http://www.yesky.com/20011024/202037_4.sHTML

总结

以上是内存溢出为你收集整理的用VB6.0实现将窗体最小化到系统托盘区 两个方法均测试部分有效或完全有效全部内容,希望文章能够帮你解决用VB6.0实现将窗体最小化到系统托盘区 两个方法均测试部分有效或完全有效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1277184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存