Je me retrouve confronté un problème avec une ListIcon.
Contrairement à Autoit où il suffit d'ajouter le style LVS_SORTASCENDING lors de la création de la listview pour obtenir un tri auto de cette dernière, cela ne fonctionne pas en Purebasic.
Pourtant je n'ai pas lu de limitation particulière sur MSDN concernant l'usage de ces styles.
Même en tentant après coup avec un GetWindowLong_/SetWindowLong_ (ce dont j'aurais besoin d'ailleurs), cela fait disparaître les items.
Le seul moyen est-il de trier la listicon après chaque ajout d'item via une fonction créée à cet effet ?
Exemple :
Code : Tout sélectionner
Window_0 = OpenWindow(#PB_Any, 0, 0, 400, 400, "", #PB_Window_SystemMenu)
ListIcon_0 = ListIconGadget(#PB_Any, 30, 16, 302, 324, "Column 1", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection); | #LVS_SORTASCENDING)
AddGadgetColumn(ListIcon_0, 1, "Column 2", 100)
old_style.l = GetWindowLong_(GadgetID(ListIcon_0), #GWL_STYLE)
SetWindowLong_(GadgetID(ListIcon_0), #GWL_STYLE, old_style | #LVS_SORTASCENDING)
AddGadgetItem(ListIcon_0, -1, "10" + Chr(10) + "fsgfhg")
AddGadgetItem(ListIcon_0, -1, "20" + Chr(10) + "detrtgrz")
AddGadgetItem(ListIcon_0, -1, "5" + Chr(10) + "hgjhyj")
AddGadgetItem(ListIcon_0, -1, "1" + Chr(10) + "bdbhgfjk")
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
PS : en fouinant sur le forum, j'ai trouvé ce topic (viewtopic.php?f=1&t=13253&view=previous) qui ne parle pas spécialement du style Sort mais qui l'utilise. Vous remarquerez que son code était probablement fonctionnel à l'époque mais ne l'est plus avec la dernière version de PB.