呵呵这个简单的:我给你举个简单的例子比如按下按钮1就显示小图标了,按钮2删除小图标! 窗体里添加个PictureBOX控件 窗体代码:Private Sub Command1_Click() AddIcon Form1.Picture1, "这里写你鼠标停留时的显示的文字", Form1 End Sub
Private Sub Command2_Click() DeleteIcon Picture1 End Sub
Private Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case X Case trayLBUTTONDOWN
Case trayLBUTTONUP
Case trayLBUTTONDBLCLK
Form1.Visible = True Case trayRBUTTONDOWN
Form1.PopupMenu mnuFile, vbRightMenuAlign Case trayRBUTTONUP
Case trayRBUTTONDBLCLK
Case trayMOUSEMOVE
Case Else End Select End Sub
模块代码: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 NIM_MODIFY = &H1
Public Const WM_MOUSEMOVE = &H200
Public Const trayLBUTTONDOWN = 7695 Public Const trayLBUTTONUP = 7710 Public Const trayLBUTTONDBLCLK = 7725
Public Const trayRBUTTONDOWN = 7740 Public Const trayRBUTTONUP = 7755 Public Const trayRBUTTONDBLCLK = 7770
Public Const trayMOUSEMOVE = 7680
Type NOTIFYICONDATA cbSize As Long hwnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64 End Type Declare Function EnableWindow Lib "user32" (ByVal hwnd As Long, ByVal fEnable As Long) As Long Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Dim trayStructure As NOTIFYICONDATA
Public Function AddIcon(pic As Control, tip$, f As Form) trayStructure.szTip = tip$ & Chr$(0) trayStructure.uFlags = NIF_MESSAGE + NIF_ICON + NIF_TIP trayStructure.uID = 100 trayStructure.cbSize = Len(trayStructure) trayStructure.hwnd = pic.hwnd trayStructure.uCallbackMessage = WM_MOUSEMOVE trayStructure.hIcon = f.Icon rc = Shell_NotifyIcon(NIM_ADD, trayStructure) End Function
Public Function DeleteIcon(pic As Control) trayStructure.uID = 100 trayStructure.cbSize = Len(trayStructure) trayStructure.hwnd = pic.hwnd trayStructure.uCallbackMessage = WM_MOUSEMOVE rc = Shell_NotifyIcon(NIM_DELETE, trayStructure) End Function
Public Sub NewTip(pic As Control, tip$) trayStructure.uFlags = NIF_TIP trayStructure.uID = 100 trayStructure.cbSize = Len(trayStructure) trayStructure.hwnd = pic.hwnd trayStructure.uCallbackMessage = WM_MOUSEMOVE trayStructure.szTip = tip$ & Chr$(0) rc = Shell_NotifyIcon(NIM_MODIFY, trayStructure) End Sub