Only AFTER adding items...
like this :
Code: Select all
EnableExplicit
Procedure.i SetAllItemsColor(Gadget, ColorType, Array ColumnColor.l(1))
Protected i, j, MaxCol, MaxItem
If IsGadget(Gadget)
If GadgetType(Gadget) = #PB_GadgetType_ListIcon
MaxItem = CountGadgetItems(Gadget)
MaxCol = ArraySize(ColumnColor())
Debug MaxCol
Debug MaxItem
For i= 0 To MaxItem
If i < MaxItem
For j = 0 To MaxCol
SetGadgetItemColor(Gadget, i, ColorType, ColumnColor(j), j)
Next j
EndIf
Next i
EndIf
EndIf
EndProcedure
Define i, Dim Cols.l(2), Event
Cols(0) = #Blue
Cols(1) = #Red
Cols(2) = #Green
OpenWindow(0, 0, 0, 640, 480, "Test", #PB_Window_ScreenCentered|#PB_Window_SystemMenu)
ListIconGadget(1, 10, 10, 600, 300, "Col0", 120)
AddGadgetColumn(1, 1, "Col1", 120)
AddGadgetColumn(1, 2, "Col2", 120)
For i = 0 To 20
AddGadgetItem(1, i, "Col 0 - " + Str(i) + #LF$ + "Col 1 - " + Str(i) + #LF$ + "Col 2 - " + Str(i) + #LF$)
Next i
SetAllItemsColor(1, #PB_Gadget_BackColor, Cols())
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver