Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to add an icon to the tray
Message
 
 
To
12/12/2000 08:35:16
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Miscellaneous
Thread ID:
00452142
Message ID:
00452216
Views:
22
File #9318 in the Files section here. It is an FLL by Bela Bodecs. Look for Putting icons on WIN95/98/NT system tray

>How to add my VFP application icon to the tray?
>
>In VB,
>===========================================================
>Add the following code to the declarations section of your project.
>
>Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias _
>"Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As _
>NOTIFYICONDATA) As Long
>
>Public 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
>
>Public Const NIM_ADD = &H0
>Public Const NIM_MODIFY = &H1
>Public Const NIM_DELETE = &H2
>Public Const NIF_MESSAGE = &H1
>Public Const NIF_ICON = &H2
>Public Const NIF_TIP = &H4
>
>'Make your own constant, e.g.:
>Public Const NIF_DOALL = NIF_MESSAGE Or NIF_ICON Or NIF_TIP
>
>Public Const WM_MOUSEMOVE = &H200
>Public Const WM_LBUTTONDBLCLK = &H203
>Public Const WM_LBUTTONDOWN = &H201
>Public Const WM_RBUTTONDOWN = &H204
>
>2) Add a form to the project, and add the following code:
>
>Public Sub CreateIcon()
>Dim Tic As NOTIFYICONDATA
>Tic.cbSize = Len(Tic)
>Tic.hwnd = Picture1.hwnd
>Tic.uID = 1&
>Tic.uFlags = NIF_DOALL
>Tic.uCallbackMessage = WM_MOUSEMOVE
>Tic.hIcon = Picture1.Picture
>Tic.szTip = "Visual Basic Demo Project" & Chr$(0)
>erg = Shell_NotifyIcon(NIM_ADD, Tic)
>End Sub
>
>Public Sub DeleteIcon()
>Dim Tic As NOTIFYICONDATA
>Tic.cbSize = Len(Tic)
>Tic.hwnd = Picture1.hwnd
>Tic.uID = 1&
>erg = Shell_NotifyIcon(NIM_DELETE, Tic)
>End Sub
>
>3) Add two command buttons (command1 and command2) and a picture box (picture1) to the form. For the picture property of the form, select an icon.
>
>To to Click event of Command1, add the following code:
>
>CreateIcon
>
>To the Click event of Command2, add the following code:
>
>DeleteIcon
>
>To the MouseMove event of Picture1, add the following code:
>
>X = X / Screen.TwipsPerPixelX
>
>Select Case X
>Case WM_LBUTTONDOWN
>Caption = "Left Click"
>Case WM_RBUTTONDOWN
>Caption = "Right Click"
>Case WM_MOUSEMOVE
>Caption = "Move"
>Case WM_LBUTTONDBLCLK
>Caption = "Double Click"
>End Select
>
>4) Run the project. Click on Command1. The icon you selected in Picture1 should appear in the tray area. Now, move the mouse over the icon. The caption of the form should change to "Move". Left click the icon, and the caption will change to "Left". Right click the icon, and the caption will change to "Right". Double Click the icon, and the caption will change to "Double". To delete the icon from the tray, click Command2.
>======================================================================
Mark McCasland
Midlothian, TX USA
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform