Code : Tout sélectionner
Case #quitter
event =#PB_EventCloseWindow
Code : Tout sélectionner
Case #minimize
event =#PB_Window_MinimizeGadget







@++
Code : Tout sélectionner
Case #quitter
event =#PB_EventCloseWindow
Code : Tout sélectionner
Case #minimize
event =#PB_Window_MinimizeGadget
Code : Tout sélectionner
If OpenWindow(0, 100, 150, 300, 100, #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget, "PureBasic - SysTray Example")
AddSysTrayIcon(0, WindowID(), LoadImage(0, "Data\CdPlayer.ico"))
SysTrayIconToolTip(0, "Icon 1")
If CreatePopupMenu(0)
MenuItem(1, "Restaurer")
EndIf
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_SysTray
If EventType() = #PB_EventType_RightClick
DisplayPopupMenu(0, WindowID())
If IsIconic_(WindowID(0))
;cette ligne est utilisée pour l'effet d'agrandissement
ShowWindow_(WindowID(0),#sw_minimize)
;Une tempo est nécessaire sinon ça ne fonctionne pas à tous les coups
Delay(250)
ShowWindow_(WindowID(0),#sw_restore)
EndIf
EndIf
Case #WM_SIZE
If IsIconic_(WindowID(0))
ShowWindow_(WindowID(0),#sw_hide)
EndIf
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Code : Tout sélectionner
;/Constantes Window
Enumeration
#Window_0
EndEnumeration
;/Constantes Gadget
Enumeration
#Minimize
#Maximize
#Close
EndEnumeration
If OpenWindow(#Window_0, 300, 300, 300, 200, #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_SystemMenu, "Fenêtre 1",0)
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Minimize, 0, 0, 20, 20, "_")
ButtonGadget(#Maximize, 20, 0, 20, 20, "||")
ButtonGadget(#Close, 40, 0, 20, 20, "X")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #Minimize
ShowWindow_(WindowID(#Window_0), #SW_MINIMIZE)
Case #Maximize
If IsZoomed_(WindowID(#Window_0))
ShowWindow_(WindowID(#Window_0), #SW_RESTORE)
Else
ShowWindow_(WindowID(#Window_0), #SW_MAXIMIZE)
EndIf
Case #Close
quit = #True
EndSelect
Case #PB_EventCloseWindow : quit = #True
EndSelect
Until quit
End
EndIf