![]() |
ListBox, mittlerer Eintrag immer markiert
Hallo,
gibt es bei einer TListbox die Möglichkeit, den mittleren Eintrag dieser Box immer als den markierten Eintrag darzustellen? Sprich ich habe eine Listbox, in der immer 3 Einträge sichtbar sind, insgesamt hat sie z.B. 10 Einträge (plus 2 Leereinträge für nichtauswählbare Felder der Box). Nun möchte ich, das der aktuell mittlere Eintrag der Anzeige immer der markierte Eintrag ist, so in etwa wie bei einem Smartphone die Zeiteinstellung. Ist das mit einer Listbox realisierbar? |
AW: ListBox, mittlerer Eintrag immer markiert
FMX oder VCL?
|
AW: ListBox, mittlerer Eintrag immer markiert
Ups, ganz vergessen, VCL.
|
AW: ListBox, mittlerer Eintrag immer markiert
Kuckst du Doku
![]() |
[Gelöst] AW: ListBox, mittlerer Eintrag immer markiert
Daran hatte ich schon gedacht, aber der TopIndex ist ja für gewöhnlich der oberste Eintrag der Box. Aber siehe da, es funktioniert wunderbar.
Als OnGesture-Ereignis (Ausführung auf Tablet):
Code:
ListBox1.Selected[ListBox1.TopIndex + 1] := True;
|
AW: ListBox, mittlerer Eintrag immer markiert
Wenn du allerdings
![]() Besser so
Delphi-Quellcode:
begin
ListBox1.ItemIndex := ListBox1.TopIndex + 1; end; |
AW: ListBox, mittlerer Eintrag immer markiert
Danke für den Tip. :) Nein, MultiSelect steht auf False, es darf nur ein Eintrag gewählt werden.
|
AW: ListBox, mittlerer Eintrag immer markiert
Besser man ändert nicht die Selektierung, sondern die Positionierung.
Delphi-Quellcode:
(Sind das immer 3 Einträge, auch in Zukunft? Wenn nicht, dann besser
ListBox1.TopIndex := ListBox1.ItemIndex - 1;
Delphi-Quellcode:
, aka
sichtbare_Zeilenanzahl durch 2
Delphi-Quellcode:
)
(ClientHeight durch ItemHeight) durch 2
Klickt mal auf einen sichtbaren Eintrag (außer dem in der Mitte) und wundert euch, warum der nicht aktiv wird. (bzw. warum wer wieder deselektiert wird) |
AW: ListBox, mittlerer Eintrag immer markiert
Ja, die sichtbaren Einträge werden immer 3 sein. Die Anzahl aller Einträge wird variabel sein, aber mindestens 3.
Zusatz1: Ich konnte kein Ereignis finden, das auf das Klicken des Scrollbalkens bzw. der Pfeile reagiert. Gibt es dafür kein Ereignis bei der Listbox? Zusatz2: Frage beantwortet. Nein, mit einer ListBox ist das nicht möglich. Lösung = eigene Komponente: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz