This vb6 code is used to show the small icon near to the system time (notify icon). In this example is also explained how u can create a pop-up menu by right-clicking on the icon.
Declaration
Option Explicit
‘ Type passed to Shell_NotifyIcon
Private Type NotifyIconData
Size As Long
Handle As Long
ID As Long
Flags As Long
CallBackMessage As Long
Icon As Long
Tip As String * 64
End Type‘ Constants for managing System Tray tasks, foudn in shellapi.h
Private Const AddIcon = &H0
Private Const ModifyIcon = &H1
Private Const DeleteIcon = &H2Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205Private Const MessageFlag = &H1
Private Const IconFlag = &H2
Private Const TipFlag = &H4Private Declare Function Shell_NotifyIcon _
Lib “shell32″ Alias “Shell_NotifyIconA” ( _
ByVal Message As Long, Data As NotifyIconData) As BooleanPrivate Data As NotifyIconData
Functions
Private Sub Form_Load()
AddIconToTray
End SubPrivate Sub Form_Terminate()
DeleteIconFromTray
End SubPrivate Sub AddIconToTray()
Data.Size = Len(Data)
Data.Handle = hWnd
Data.ID = vbNull
Data.Flags = IconFlag Or TipFlag Or MessageFlag
Data.CallBackMessage = WM_MOUSEMOVE
Data.Icon = Me.Icon
Data.Tip = “The text for the tip” & vbNullChar
Call Shell_NotifyIcon(AddIcon, Data)End Sub
Private Sub DeleteIconFromTray()
Call Shell_NotifyIcon(DeleteIcon, Data)
End SubPrivate Sub Form_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)Dim Message As Long
Message = X / Screen.TwipsPerPixelXSelect Case Message
Case WM_LBUTTONDOWN
Case WM_RBUTTONDOWN
Call Me.PopupMenu(MenuPopup, , , , MenuClose)End Select
End SubPrivate Sub MenuClose_Click()
Form_TerminateEnd Sub
RSS feed for comments on this post · TrackBack URI
Leave a reply