Cette question a été posée sur le serveur PureBasic Discord par Shadow.
Et bien oui Shadow comme te le montre cet exemple.Shadow sur Discord a écrit :salut, est ce que c'est normal que quand je redimensionne un canevas sont contenue disparait ?
Code : Tout sélectionner
EnableExplicit
Enumeration window
#mf
EndEnumeration
Enumeration gadget
#mfCanvas
EndEnumeration
; Sommaire
Declare Start()
Declare RefreshCanvas()
Declare Resize()
Declare Exit()
Start()
Procedure Start()
OpenWindow(#mf, 0, 0, 800, 600, "CanvasResize", #PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget)
CanvasGadget(#mfCanvas, 0, 0, 800, 600)
; Dessin sur le canvas
RefreshCanvas()
; Déclencheurs
BindEvent(#PB_Event_SizeWindow, @Resize()) ; Redimensionnement du canvas
BindEvent(#PB_Event_CloseWindow, @Exit()) ; Sortie de l'application
; Loop
Repeat : WaitWindowEvent(1) : ForEver
EndProcedure
Procedure RefreshCanvas()
Protected ww = GadgetWidth(#mfCanvas)
Protected wh = GadgetHeight(#mfcanvas)
StartDrawing(CanvasOutput(#mfCanvas))
; Clear canvas
Box(0, 0, ww, wh, RGB(165, 224, 191))
StopDrawing()
EndProcedure
Procedure Resize()
Protected ww = WindowWidth(#mf)
Protected wh = WindowHeight(#mf)
ResizeGadget(#mfCanvas, #PB_Ignore, #PB_Ignore, ww, wh)
;RefreshCanvas()
EndProcedure
Procedure Exit()
End
EndProcedure