2 pièce(s) jointe(s)
Problème de customisation d'une Listbox
Bonjour à tous et bonne année :yaisse2:
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
Code:
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; |
Et j'ai bien le résultat que j'attends
Pièce jointe 631688
Voici le style que j'ai défini:
Pièce jointe 631689
Le problème semble se situer à cette ligne car le résultat du FindStyleResource renvoi false
Code:
1 2 3
|
if ilst.FindStyleResource<TCheckBox>('chkActiveBox', chkactive) then
chkactive.OnChange := lbUniteActivesChangeCheck; |
Il ne trouve pas l'élément chkActiveBox et je ne comprends pas pourquoi.
Une idée?