Cette astuce permet de prendre jusqu'à 3 x moins de temps pour remplir un listicongadget.
Code : Tout sélectionner
EnableExplicit
Define EventID
Define a
Define StartTime
Define ElapsedTime
If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,480,380,"",400,0)
SendMessage_(GadgetID(1),#WM_SETREDRAW,0,0) ; le gadget n'est pas redessiné après un changement
StartTime = ElapsedMilliseconds()
For a=1 To 10000
AddGadgetItem(1,-1,"Item "+Str(a),0,0)
Next
SendMessage_(GadgetID(1),#WM_SETREDRAW,1,0) ; on redessine
ElapsedTime = ElapsedMilliseconds()-StartTime
MessageRequester("",Str(ElapsedTime)+" ms. après 10.000 entrées.",0)
Repeat
EventID=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
En plus, je trouve que ça donne un effet plus "pro";
Mesa.