sub ReplaceSysTrayIcon(ByVal NumberSysTray As Integer,ByVal icon As Any ptr,ByRef ToolTipSysTray As String)
Изменяет иконку и подсказку в системном трее
NumberSysTray - Номер (идентификатор) системного трея
icon - Хендл иконки. На Windows допускается тип HICON. На Linux допускается тип HBITMAP , то есть на Linux можно использовать изображение любого формата , поддерживаемого Load_Image
ToolTipSysTray - Подсказка для иконки системного трея
Windows , Linux
#Include "window9.bi"
Dim As HWND hWnd
Dim Shared As HMENU hmenu
hwnd=OpenWindow("",10,10,300,300)
hmenu=CreatePopMenu()
MenuItem(1001,hmenu,"Изменить иконку")
var st = AddSysTrayIcon(1,hwnd,Load_Icon("1.ico"),"SYSTRAY приложение")
Do
Var ev=WaitEvent
If ev=EventClose Then
Deletesystrayicon(1)
End
EndIf
#ifdef __fb_win32__
If ev=eventRbdown Then ' on windows systray and popup menu work only with signal keydown
If EventNumber = 1 Then
DisplayPopupMenu(hmenu,GlobalMouseX,GlobalMouseY )
#else
If ev=eventRbUp Then
If EventNumber = 1 Then ' on Linux systray and popup menu work only with signal keyUp
DisplayPopupMenu(hmenu,,,st )
#endif
EndIf
EndIf
If ev=EventMenu Then
If EventNumber=1001 Then
ReplaceSysTrayIcon(1,Load_Icon("2.ico"),"Новая иконка")
EndIf
EndIf
Loop
Created with the Personal Edition of HelpNDoc: Easily create Help documents