Everything I've tried so far assigns my chosen font to every entry of the gadget.
Here's some code to play with :
Code: Select all
Procedure initListe()
Protected w = 150
ClearGadgetItems(0) ; supprime toutes les entrées
RemoveGadgetColumn(0,#PB_All) ; supprime toutes les colonnes
AddGadgetColumn(0, 0, "0: Nom", w-25)
AddGadgetColumn(0, 1, "1: Adresse", w)
AddGadgetColumn(0, 2, "2: Ville", w)
AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way"+Chr(10)+"ByTheBay, England")
AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road"+Chr(10)+"BigTown, Somewhere")
AddGadgetItem(0, -1, "Guy Lebleu"+Chr(10)+"5431 MacMahon"+Chr(10)+"LaVille, Canada")
AddGadgetItem(0, -1, "Maxime Monsieur"+Chr(10)+"99, chemin d'en Haut"+Chr(10)+"Ici, PasAilleurs")
AddGadgetItem(0, -1, "Madame Buttefly"+Chr(10)+"77, chemin d'en Bas"+Chr(10)+"Là-bas, Pays-Bas")
EndProcedure
#zTXT_infos = 9
Procedure ShowCount(msg.s)
SetGadgetText(#zTXT_infos," " + msg+", we count " + CountGadgetItems(0) +" items in the List.")
EndProcedure
Procedure GetiTems()
Protected i, n, c, m$
c = Val(GetGadgetText(4))
If c > GetGadgetAttribute(0,#PB_ListIcon_ColumnCount)
m$ = " il n'y pas de colonne " + c
Else
n = CountGadgetItems(0)-1
m$ = " entrées de la colonne "+ c
c-1
For i = 0 To n
m$ + EoL+" "+ i + ": '" + GetGadgetItemText(0,i,c)+"' "
Next
EndIf
m$ + EoL
MsgBox (m$)
Debug m$
Debugg
EndProcedure
; ---------------------------
OpenWindow(0, 100, 100, 444, 222, "ListIcon Example", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered)
;:: fenêtre et gadgets
SetGadgetFont(#PB_Default, LoadFont(0, "Segoe UI", 10))
ListIconGadget(0, 5, 5, WindowWidth(0)-10, 150, "", 0, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
SetGadgetFont(0, LoadFont(1, "Segoe UI", 9,#PB_Font_Bold))
initListe()
Define gi, gX, gY = 160, gW = 84, gH=20
gi = 1
gW = 96
gX = 5
ButtonGadget(gi,gX,gY,gW,gH,"delete column ")
gi = 2
gX + gW + 3
gW = 32
OptionGadget(gi,gX,gY,gW,gH,"all")
gi = 3
gX + gW + 3
gW = 18
OptionGadget(gi,gX,gY,gW,gH,"")
SetGadgetState(gi,1)
gi = 4
gX + gW-2
gW = 24
StringGadget(gi,gX,gY,gW,gH,"1", #PB_String_Numeric)
gi = 5
gW = 84
gX = WindowWidth(0)-5 - gW
ButtonGadget(gi,gX,gY,gW,gH,"Reset")
gi = 6
gX - gW -3
ButtonGadget(gi,gX,gY,gW,gH,"clear")
gi = 7
gX - gW -3
ButtonGadget(gi,gX,gY,gW,gH,"Get")
gi = #zTXT_infos
TextGadget(gi,10,188,WindowWidth(0)-20,20,"")
SetGadgetColor(gi, #PB_Gadget_BackColor, #Yellow)
ShowCount("Initially")
;.
; --- boucle Windows --------------
Define event
Repeat
event = WaitWindowEvent()
Select event
Case #PB_Event_CloseWindow : Break
Case #PB_Event_Gadget :
Select EventGadget()
Case 1 : Gosub removeColumns
Case 6 : ClearGadgetItems(0)
ShowCount("After clearing it")
Case 5 : initListe()
ShowCount("After initialising it")
Case 7 : GetiTems() ;: Stop()
EndSelect
EndSelect
;.
ForEver
End
;:: remove colonnes
removeColumns:
If GetGadgetState(2) > 0 ; bouton radio actif ?
RemoveGadgetColumn(0, #PB_All) ; Remove all columns
ShowCount("After removing all columns")
Return
EndIf
nColonnes = GetGadgetAttribute(0,#PB_ListIcon_ColumnCount)
column = Val(GetGadgetText(4))
If column > 0
If column <= nColonnes
column -1
RemoveGadgetColumn(0, column) ; Remove column
ShowCount("After removing column " + column)
Else
SetGadgetText(#zTXT_infos," Il n'y a pas de colonne "+column)
EndIf
EndIf
;.
Return