Bonjour
Avec FMX, je ne trouve pas la propriété TopIndex d'une TListBox, est ce qu'il existe un équivalent ?
Merci
Version imprimable
Bonjour
Avec FMX, je ne trouve pas la propriété TopIndex d'une TListBox, est ce qu'il existe un équivalent ?
Merci
Essaye de bidouiller un truc avec ScrollTo
La TListBox FMX est très différent de la TListBox VCL, en fait c'est plus proche d'un TDBCtrlGrid ou d'un TGrilPanel
Chaque TListBoxItem.ListItems est un TListBoxItem à ne pas confondre avec le simple TStrings Items
TListBoxItem est aussi un TControl, en récupérant sa position
Tu fais un ScrollTo(0, 0) puis ScrollTo(0, ListBox.ListItems[10].Y);.
Esssaye aussi TListBoxItem.SetFocus
Merci pour ta réponse mais j'aimerais connaitre l'index du premier élément affiché dans la ListBox, en fait, il faudrait que je connaisse le nombre d'éléments de la ListBox qui sont 'scrollé' lorsque l'utilisateur fait défiler la barre de défilement vertical mais je ne vois pas comment faire...
Aaaah ! Tu veux LIRE TopIndex et non pas l'écrire !
J'étais parti sur ta volonté de faire un truc comme MakeVisible de la TListView
Il n'y a même de OnScroll dans le TScrollBox dont hérite la TListBox
Regarde TScrollBox.VScrollBar
Quelque chose comme...
...devrait faire l'affaire. VScrollBar est une propriété héritée de TScrollBox. Par contre attention: à cause du système de style il se peut que le champ lu par la prop. retourne nil, selon le moment où tu appelles la fonction.Code:
1
2
3
4
5
6
7 Function GetTopIndex: Integer; Begin Result := 0; If ListBox.VScrollVar <> Nil Then Result := Floor( ListBox.VScrollBar.Value / ListBox.ItemHeight) End;
Merci à vous deux, ça fonctionne