Je voudrai redimensionner automatiquement un gadget avec le redimensionnement de la fenêtre, mais le résultat n'est pas fluide.
Dans le code ci-joint on voit dans le debugger que les dimensions du webgadget augmentent et diminuent un coup sur deux.
Si quelqu'un a une idée?
Merci de votre aide.
Code : Tout sélectionner
;{- Enumerations / DataSections
;{ Windows
Enumeration
#Window_0
EndEnumeration
;}
;{ Gadgets
Enumeration
#Web_0
EndEnumeration
;}
Define.l Event, EventWindow, EventGadget, EventType, EventMenu
;}
Global window, gadget, gadget_X, gadget_Y, gadget_W, gadget_H
Procedure redimenssionne(window, gadget)
window = SetActiveGadget(window)
gadget_X = GadgetX(gadget)
gadget_Y = GadgetY(gadget)
gadget_w = WindowWidth(gadget)-GadgetWidth(gadget)
gadget_H = WindowHeight(gadget)-GadgetHeight(gadget)
ResizeGadget(gadget, gadget_X, gadget_Y, gadget_W, gadget_H)
EndProcedure
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 450, 200, 400, 400, "Window_0", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
WebGadget(#Web_0, 20, 20, 200, 200, "about:WebGadget_0")
EndIf
EndProcedure
OpenWindow_Window_0()
;{- Event loop
Repeat
Event = WaitWindowEvent()
Select Event
; ///////////////////
Case #PB_Event_SizeWindow
redimenssionne(#Window_0,#Web_0)
Debug "Largeur = " + Str(gadget_W) + " Hauteur = " + Str(gadget_H)
Case #PB_Event_Gadget
EventGadget = EventGadget()
EventType = EventType()
If EventGadget = #Web_0
EndIf
; ////////////////////////
Case #PB_Event_CloseWindow
EventWindow = EventWindow()
If EventWindow = #Window_0
CloseWindow(#Window_0)
Break
EndIf
EndSelect
ForEver
;
;}