ListIconGadget : Selections sans couleur bleue
Publié : lun. 26/sept./2022 20:18
Tout d'abord, j'utilise #WM_LBUTTONDOWN car la redondance de #PB_EventType_LeftClick est insupportable donc c'est du Windows Only.
Lorsque vous voulez sélectionner plusieurs éléments dans une liste, l'élément cliqué est bleu.
Je trouve cela gênant lorsqu'on attribut une couleur aux cellules sélectionnées.
J'ai trouvé une méthode simple pour ne plus être embêté par ça.
Il suffit, après votre choix de sélection, de lancer un
Exemple
Exemple mis en image

Lorsque vous voulez sélectionner plusieurs éléments dans une liste, l'élément cliqué est bleu.
Je trouve cela gênant lorsqu'on attribut une couleur aux cellules sélectionnées.
J'ai trouvé une méthode simple pour ne plus être embêté par ça.
Il suffit, après votre choix de sélection, de lancer un
Code : Tout sélectionner
SetGadgetItemState(1,-1,0)
Code : Tout sélectionner
If OpenWindow(0, 100, 100, 360, 200, "ListIconGadget Selection", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(1, 5, 5, 358, 190, "Nom", 100, #PB_ListIcon_FullRowSelect )
AddGadgetColumn(1, 1, "Adresse", 250)
AddGadgetItem(1, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
AddGadgetItem(1, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
Repeat
Evenement = WaitWindowEvent()
EG = EventGadget()
Select Evenement
Case #WM_LBUTTONDOWN;
If GetActiveGadget() = 1 And GetGadgetState(1) <> -1
Num = GetGadgetState(1)
Etat = GetGadgetItemData(1,Num)
If etat = 0
etat = 1 : COL = $00CCFF
Else
etat = 0 : COL = $FFFFFF
EndIf
Debug "Elément "+Str(Num) + " Etat : " + etat
SetGadgetItemData(1,Num,etat)
SetGadgetItemColor(1,Num,#PB_Gadget_BackColor,COL)
SetGadgetItemState(1,-1,0) ; <-- essayer en commentant cette ligne, la selection bleue reviendra
EndIf
EndSelect
Until Evenement = #PB_Event_CloseWindow
EndIf
