merci Chris,
je ne comprend pas bien le fonctionnement de ta procedure donc j'ai essayé de suivre l'aide qui ma mener a ceux-ci :
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Button_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 200, 100, 120, 30, "")
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #WM_SIZE
ResizeGadget(#Button_0, WindowWidth(#Window_0)-200 , #PB_Ignore, #PB_Ignore, #PB_Ignore)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
forcement sa ne fonctionne pas

pourtant je renvoie la largeur de la fenetre mais le bouton lui ne bouge pas.
donc j'ai du faire une erreur quelque part car si je fait sa :
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Button_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 200, 100, 120, 30, "")
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
ResizeGadget(#Button_0, WindowWidth(#Window_0)-200 , #PB_Ignore, #PB_Ignore, #PB_Ignore)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
la sa fonctionne mais je doit cliquer sur le gadget

.
désolé
ps: je suppose que sa doit coincer ici :
Code : Tout sélectionner
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
mais pas sur
@++
EDIT
bon j'ai reussi mais pas avec ta procedure Chris desol
sa donne ceux-ci
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Button_0
EndEnumeration
Procedure Convert(Size,NewResolution.l,OriginWindowSize.l)
Static Resultat.f
Resultat = NewResolution * Size / OriginWindowSize
ProcedureReturn Resultat
EndProcedure
If OpenWindow(#Window_0, 216, 0, 600, 300, "New window ( 0 )", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 200, 100, 120, 30, "")
EndIf
EndIf
Repeat
Event.l = WindowEvent()
Select Event
Case #PB_Event_SizeWindow
ResizeGadget(#Button_0, 10, 10, Convert(200,WindowWidth(#Window_0),600), Convert(30,WindowHeight(#Window_0),300))
EndSelect
Until EventID = #PB_Event_CloseWindow
mais le probleme c'est que de cette façon je ne peut plus fermer la fenetre ou bien donner un ordre au bouton

voila qui est baleau
@++