function AddSysTrayIcon(iNumberSysTray as integer, hwnd as hwnd, hIcon as Any ptr , sTooltip as string) as integer
Устанавливает иконку в системный трей. Если функция завершается успешно, возвращаемое значение не равно 0. Обратите внимание на пример. В нем показано, как на различных операционных системах обрабатываются события SysTray.
iNumberSysTray - Номер (идентификатор) системного трея (не должен совпадать с номерами\идентификаторами гаджетов , то есть должен быть оригинальным)
hwnd - Окно за которым закреплен идентификатор SysTray
hIcon - Хендл иконки. На Windows допускается тип HICON. На Linux допускается тип HBITMAP , то есть на Linux можно использовать изображение любого формата , поддерживаемого Load_Image
sTooltip - Подсказка для иконки системного трея
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,"Свернуть окно")
MenuItem(1002,hmenu,"Развернуть окно")
Dim As Any Ptr icon1
icon1 = Load_Icon("1.ico")
var st = AddSysTrayIcon(1,hwnd,icon1,"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,,, Cast(Any Ptr,st) )
#endif
EndIf
EndIf
If ev=EventMenu Then
If EventNumber=1001 Then
HideWindow(hwnd,1)
ElseIf EventNumber=1002 Then
HideWindow(hwnd,0)
EndIf
EndIf
Loop
Created with the Personal Edition of HelpNDoc: Easily create Web Help sites