J'imagine que cette question a déjà été posée, mais j'ai pas le courage de faire une recherche.

Pour info,pat a écrit :J'ai fait une petite recherche dans la SDK Documentation sur les API et j'ai consulté dans List Box (cela doit être cela pour les ListIconGadget) et je n'ai trouvé aucune fonction pour trier les listes, c'est pourquoi Fred, à mon avis, ne peux pas implémenter ça dans PB.
Oui.anissa a écrit :Est il possible de choisir une police et une couleur pour une cellule bien déterminée dans une ListIconGagdet?
Code : Tout sélectionner
FontID = LoadFont(0, "Courier New", 12, #PB_Font_Bold)
;
Procedure MyCellColorCallback(GadgetNumber.l, CellRow.l, CellColumn.l, *TextColor.Long, *BackColor.Long, *FontID.Long)
Shared FontID
If GadgetNumber = 1
CellText.s = GetGadgetItemText(GadgetNumber, CellRow, CellColumn)
Debug Str(CellRow) + ":" + Str(CellColumn) + ">" + CellText
Select CellText
Case "Red"
*TextColor\l = #Red
Debug "-> Red"
Case "Blue"
*BackColor\l = #Blue
*TextColor\l = #White
Debug "-> Blue"
Case "Green"
*TextColor\l = #Green
Debug "-> Green"
Default
*FontID\l = FontID
Debug "-> Font"
EndSelect
EndIf
EndProcedure
;
OpenWindow(0, 100, 300, 400, 200, "PureCOLOR test : cell callback demo", #PB_Window_SystemMenu)
ListIconGadget(1, 1, 1, 300, 190, "0", 100, #PB_ListIcon_GridLines | #PB_ListIcon_FullRowSelect)
SetGadgetFont(1, FontID)
;
AddGadgetColumn(1, 1, "1", 100)
AddGadgetColumn(1, 2, "2", 100)
AddGadgetItem(1, -1, "0:0" + Chr(10) + "0:1" + Chr(10) + "Red")
AddGadgetItem(1, -1, "1:0" + Chr(10) + "1:1" + Chr(10) + "1:2")
AddGadgetItem(1, -1, "Blue" + Chr(10) + "Green" + Chr(10) + "2:2")
AddGadgetItem(1, -1, "3:0" + Chr(10) + "Red" + Chr(10) + "3:2")
AddGadgetItem(1, -1, "Red" + Chr(10) + "4:1" + Chr(10) + "Red")
AddGadgetItem(1, -1, "Green" + Chr(10) + "Blue" + Chr(10) + "5:2")
AddGadgetItem(1, -1, "6:0" + Chr(10) + "6:1" + Chr(10) + "6:2")
AddGadgetItem(1, -1, "Red" + Chr(10) + "Blue" + Chr(10) + "7:2")
PureCOLOR_SetCellColorCallback(0, @MyCellColorCallback())
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Break
EndIf
ForEver
;
End