je ne sais pas si c'est un bug de MS ou si c'est une problème dans ta boucle
j'ai un splittergadget avec une listicon et le quadrillage d'affiché et un editor.
lorsque je scroll la listicon avec les flèches ou si je clique dans la barre de scrolling, le rafraichissement de la listicon ne se fait pas correctement, le quadrillage est soit partiellement manquant soit il est trop abondant.
Le problème a lieu sous XP avec les thèmes activés (fonctionne normalement avec XP sans les thèmes). Je n'ai pas testé les autres OS
Le message #CCM_SETVERSION envoyé ou non ne change rien.
Le code d'essai
Code : Tout sélectionner
Enumeration
#fenetre
#ListIconGadget1
#gadSplitter
#gadEditor
EndEnumeration
#CCM_SETVERSION = #CCM_FIRST + 7
If OpenWindow(#fenetre, 0, 0, 400, 320, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "test") And CreateGadgetList(WindowID())
ListGadget = ListIconGadget(#ListIconGadget1, 0, 0, 0, 0, "0", 350/4, #PB_ListIcon_GridLines )
EditorGadget(#gadEditor,0,0,0,0)
SplitterGadget(#gadSplitter,10,10,380,300,1,#gadEditor)
SendMessage_(ListGadget, #CCM_SETVERSION, 5, 0)
AddGadgetColumn(#ListIconGadget1, 1, "1", 350/4)
AddGadgetColumn(#ListIconGadget1, 2, "2", 350/4)
AddGadgetColumn(#ListIconGadget1, 3, "3", 350/4)
For i = 0 To 300
AddGadgetItem(#ListIconGadget1, -1, "L"+Str(i)+"C0" + Chr(10) + "L"+Str(i)+"C1" + Chr(10) + "L"+Str(i)+"C2"+ Chr(10) +"L"+Str(i)+"C3"+ Chr(10) )
Next i
Repeat
If WaitWindowEvent() = #PB_EventCloseWindow
Break
EndIf
ForEver
EndIf
End
Le code
Code : Tout sélectionner
Enumeration
#fenetre
#ListIconGadget1
#Container
EndEnumeration
If OpenWindow(#fenetre, 0, 0, 400, 320, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "test") And CreateGadgetList(WindowID())
ContainerGadget(#Container, 10,10,380,300)
ListGadget = ListIconGadget(#ListIconGadget1, 10, 10, 360, 280, "0", 340/4, #PB_ListIcon_GridLines )
CloseGadgetList()
AddGadgetColumn(#ListIconGadget1, 1, "1", 340/4)
AddGadgetColumn(#ListIconGadget1, 2, "2", 340/4)
AddGadgetColumn(#ListIconGadget1, 3, "3", 340/4)
For i = 0 To 300
AddGadgetItem(#ListIconGadget1, -1, "L"+Str(i)+"C0" + Chr(10) + "L"+Str(i)+"C1" + Chr(10) + "L"+Str(i)+"C2"+ Chr(10) +"L"+Str(i)+"C3"+ Chr(10) )
Next i
Repeat
If WaitWindowEvent() = #PB_EventCloseWindow
Break
EndIf
ForEver
EndIf
End