(Nb: cette procédure est a appelée après chaque ajout d'item)
WindowsOnly
Code édité le 23 septembre 2015, en effet unz procédure est nécessaire pour empècher la sélection de ligne vide
Code : Tout sélectionner
Procedure ListColor(gadget, gridColor=$13458B,BgColorP=$FFFFFF,BgColorI=$008CFF,FgColorP=$000000,FgColorI=$000000)
Protected Nb=CountGadgetItems(gadget)
If SendMessage_(GadgetID(gadget),#LVM_GETCOUNTPERPAGE,0,0)>Nb
Nb=SendMessage_(GadgetID(gadget),#LVM_GETCOUNTPERPAGE,0,0)
For N=CountGadgetItems(gadget) To Nb-1
AddGadgetItem(gadget,-1,"")
Next
EndIf
SetGadgetColor(gadget,#PB_Gadget_LineColor,gridColor)
For N=1 To Nb
If N & 1
SetGadgetItemColor(gadget,N-1,#PB_Gadget_BackColor,BgColorI)
SetGadgetItemColor(gadget,N-1,#PB_Gadget_FrontColor,FgColorI)
Else
SetGadgetItemColor(gadget,N-1,#PB_Gadget_BackColor,BgColorP)
SetGadgetItemColor(gadget,N-1,#PB_Gadget_FrontColor,FgColorP)
EndIf
Next
EndProcedure
Procedure NoEmpty()
Protected G=EventGadget()
Protected N=GetGadgetState(G)
If GetGadgetItemText(G,N,0)=""
SetGadgetState(G,-1)
EndIf
EndProcedure
OpenWindow(0,0,0,800,600,"teste",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,504,400,"Item A",100,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
ListIconGadget(2,10,430,504,100,"Item A",100,#PB_ListIcon_FullRowSelect|#PB_ListIcon_GridLines)
AddGadgetColumn(1,1,"Item B",100)
AddGadgetColumn(1,2,"Item C",100)
AddGadgetColumn(1,3,"Item D",100)
AddGadgetColumn(1,4,"Item E",100)
AddGadgetColumn(2,1,"Item B",100)
AddGadgetColumn(2,2,"Item C",100)
AddGadgetColumn(2,3,"Item D",100)
AddGadgetColumn(2,4,"Item E",100)
For N=1 To 14
AddGadgetItem(1,-1,"qaqqqq")
AddGadgetItem(2,-1,"qaqqqq")
Next
ListColor(1)
BindGadgetEvent(1,@NoEmpty())
ListColor(2,$000000,$FFFF00,$EEEEAF,$8B0000,$8B0000)
BindGadgetEvent(2,@NoEmpty())
Repeat
event=WaitWindowEvent()
If event=#PB_Event_CloseWindow:End:EndIf
ForEver