Certains gadgets n'étaient pas redimensionnés car dans certains cas mon callback ne recevait pas d'évènement(s)!
Aucune idée pourquoi ... Captés par Purebasic ...?
En ajoutant une commande de redimensionnement après l'évènement #PB_Event_SizeWindow, çà fonctionnait (un peu comme ton exemple).
Mais je voulais tout gérer dans le callback (plus commode pour l'utilisateur), donc j'ai ajouté un 'hack' comme on dit en bon français pour compenser cette perte d'évènements, et çà semble fonctionner.
Peux-tu retester la nouvelle version de la lib ?
http://people.freenet.de/gnozal/PureRESIZE.zip
Cet exemple fonctionne en tout cas :
Code : Tout sélectionner
; CallBack
Procedure MyCallback(WindowID,Message,wParam,lParam)
result = #PB_ProcessPureBasicEvents
result = PureCOLOR_CallBack(WindowID, Message, wParam, lParam, result)
result = PureRESIZE_CallBack(WindowID, Message, wParam, lParam, result)
ProcedureReturn result
EndProcedure
; Window
ww = 400
wh = 477
If OpenWindow(0,0,0,ww,wh,#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"test")
CreateStatusBar(0,WindowID())
CreateGadgetList(WindowID())
ContainerGadget(0,10,10,ww-20,320,#PB_Container_Flat)
TextGadget(1,0,0,ww-20,16,"LISTE",#PB_Text_Center)
ListIconGadget(2,10,26,ww-40,284,"Id.",80,#PB_ListIcon_GridLines|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_FullRowSelect)
AddGadgetColumn(2,1,"Description",185)
AddGadgetColumn(2,2,"Index",60)
ButtonGadget(3,ww-36,2,12,12,"-")
CloseGadgetList()
ContainerGadget(4,10,340,ww-20,80,#PB_Container_Flat)
TextGadget(5,0,0,ww-20,16,"PROPRIETES",#PB_Text_Center)
HyperLinkGadget(6, 10,25,80,21,"Identifiant :",$FFFF)
HyperLinkGadget(7,10,50,80,21,"Description :",$FFFF)
StringGadget(8,100,25,ww-130,21,"",#PB_String_UpperCase)
StringGadget(9,100,50,ww-130,21,"")
CloseGadgetList()
ButtonGadget(10,10,430,70,21,"Actualiser")
ButtonGadget(11,85,430,70,21,"Ajouter")
ButtonGadget(12,160,430,70,21,"Modifier")
ButtonGadget(13,235,430,70,21,"Effacer")
ButtonGadget(14,ww-80,430,70,21,"Quitter")
EndIf
; Callback
SetWindowCallback(@MyCallback())
; Colors
PureCOLOR_SetGadgetColor(1,$FFFFFF,$888888)
PureCOLOR_SetGadgetColor(5,$FFFFFF,$888888)
; Resize
PureRESIZE_SetGadgetResize(0, 1,1,1,1)
PureRESIZE_SetGadgetResize(1, 1,1,1,0)
PureRESIZE_SetGadgetResize(2, 1,1,1,1)
PureRESIZE_SetGadgetResize(3, 0,1,1,0)
PureRESIZE_SetGadgetResize(4, 1,0,1,1)
PureRESIZE_SetGadgetResize(5, 1,1,1,0)
PureRESIZE_SetGadgetResize(6, 1,1,0,0)
PureRESIZE_SetGadgetResize(7, 1,1,0,0)
PureRESIZE_SetGadgetResize(8, 1,1,1,0)
PureRESIZE_SetGadgetResize(9, 1,1,1,0)
PureRESIZE_SetGadgetResize(10, 1,0,0,0)
PureRESIZE_SetGadgetResize(11, 1,0,0,0)
PureRESIZE_SetGadgetResize(12, 1,0,0,0)
PureRESIZE_SetGadgetResize(13, 1,0,0,0)
PureRESIZE_SetGadgetResize(14, 0,0,1,0)
;PureRESIZE_SetWindowMaximumSize(0, 800,600)
PureRESIZE_SetWindowMinimumSize(0, WindowWidth()+8,275)
;
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
If EventGadgetID()=14 : End : EndIf
EndSelect
ForEver