home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / CODE_UPLOAD1073710182000.psc / mSysTray.bas < prev    next >
Encoding:
BASIC Source File  |  2000-09-03  |  1.5 KB  |  59 lines

  1. Attribute VB_Name = "mSysTray"
  2. '--------------------------------------------------
  3. ' E-Mail Checker
  4. ' By H G Laughland
  5. '
  6. ' TrayIcon Module
  7. ' Declarations and procedures for the tray icon.
  8. '--------------------------------------------------
  9.  
  10. Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
  11.  
  12. Public Type NOTIFYICONDATA
  13.  cbSize As Long
  14.  hwnd As Long
  15.  uID As Long
  16.  uFlags As Long
  17.  uCallbackMessage As Long
  18.  hIcon As Long
  19.  szTip As String * 64
  20. End Type
  21.  
  22. Public Const NIM_ADD = &H0
  23. Public Const NIM_DELETE = &H2
  24. Public Const NIM_MODIFY = &H1
  25.  
  26. Public Const NIF_ICON = &H2
  27. Public Const NIF_MESSAGE = &H1
  28. Public Const NIF_TIP = &H4
  29.  
  30. Public Const WM_MOUSEMOVE = &H200
  31. Public Const WM_RBUTTONUP = &H205
  32. Public Const WM_RBUTTONDOWN = &H204
  33. Public Const WM_LBUTTONDBLCLK = &H203
  34.  
  35. Global TrayIcon As NOTIFYICONDATA
  36.  
  37. Public Sub SetTrayIcon(frm As Form, strToolTip As String, Icon, iAction As Integer)
  38. On Error Resume Next
  39. With TrayIcon
  40.  .cbSize = Len(TrayIcon)
  41.  .hwnd = frm.hwnd
  42.  .szTip = strToolTip & vbNullChar
  43.  .hIcon = Icon
  44.  .uID = vbNull
  45.  .uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
  46.  .uCallbackMessage = WM_MOUSEMOVE
  47. End With
  48. Select Case iAction
  49.  Case 1 'Show Icon
  50.   Shell_NotifyIcon NIM_ADD, TrayIcon
  51.  Case 2 'Modify Icon
  52.   Shell_NotifyIcon NIM_MODIFY, TrayIcon
  53. End Select
  54. End Sub
  55.  
  56. Public Sub RemoveTrayIcon()
  57.  Shell_NotifyIcon NIM_DELETE, TrayIcon
  58. End Sub
  59.