Bonjour à tous et bonne année
Je suis en train de customiser un TListBox et si le rendu final est bien celui que je veux par contre pour l'accès aux éléments ce n'est pas ça.
Donc voici ce que j'ai fait:
Le code ci dessous est appelé quand je met à jour ma TListbox
Et j'ai bien le résultat que j'attends
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 lbUniteActives.Clear; for i := 0 to TEtatMajor(lePion).getNbSubordonne - 1 do begin sub := TTroupe(TEtatMajor(lePion).getSubordonne(i)); ilst := TListBoxItem.Create(lbUniteActives); ilst.stylelookup := 'CheckListBoxItemStyle'; ilst.stylesdata['texte'] := sub.getNom; ilst.stylesdata['chkActiveBox'] := sub.Active; if ilst.FindStyleResource<TCheckBox>('chkActiveBox', chkactive) then chkactive.OnChange := lbUniteActivesChangeCheck; lbUniteActives.AddObject(ilst); end;
Voici le style que j'ai défini:
Le problème semble se situer à cette ligne car le résultat du FindStyleResource renvoi false
Il ne trouve pas l'élément chkActiveBox et je ne comprends pas pourquoi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if ilst.FindStyleResource<TCheckBox>('chkActiveBox', chkactive) then chkactive.OnChange := lbUniteActivesChangeCheck;
Une idée?
Partager