Das ListIconGadget unterstützt auch, mit einem Aufruf, das Setzen der Häkchen aller Checkboxen mittels #PB_All (-1).
Code:
If OpenWindow(0, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 5, 5, 290, 190, "Name", 100, #PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection|#PB_ListIcon_CheckBoxes)
AddGadgetColumn(0, 1, "Address", 150)
For i=0 To 8
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road")
Next
ButtonGadget(1, 5, 200, 100, 25, "Check all")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
SetGadgetItemState(0, #PB_All, #PB_ListIcon_Checked)
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Das ListViewGadget unterstützt auch, mit einem Aufruf, das Markieren aller Items mittels #PB_All (-1).
Code:
If OpenWindow(0, 100, 100, 300, 300, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(0, 5, 5, 290, 190, #PB_ListView_MultiSelect)
AddGadgetColumn(0, 1, "Address", 150)
For i=0 To 8
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road")
Next
ButtonGadget(1, 5, 200, 100, 25, "Check all")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
SetGadgetItemState(0, #PB_All, 1)
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Schließlich unterstützt das die upgestreamte API-Funktion ja auch. Das sollte man vielleicht in der Hilfe mit angeben...

Edit: Code etwas verkleinert.