AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox, mittlerer Eintrag immer markiert

Ein Thema von LokutusvB · begonnen am 31. Okt 2014 · letzter Beitrag vom 3. Nov 2014
Antwort Antwort
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#1

ListBox, mittlerer Eintrag immer markiert

  Alt 31. Okt 2014, 12:47
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?
MFG
LokutusvB

Geändert von LokutusvB (31. Okt 2014 um 12:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 31. Okt 2014, 13:15
FMX oder VCL?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#3

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 07:57
Ups, ganz vergessen, VCL.
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 08:41
Kuckst du Doku Delphi-Referenz durchsuchenVcl.StdCtrls.TListBox.TopIndex
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#5

[Gelöst] AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 10:42
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;
MFG
LokutusvB

Geändert von LokutusvB ( 3. Nov 2014 um 10:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 11:02
Wenn du allerdings Delphi-Referenz durchsuchenVcl.StdCtrls.TListBox.MultiSelect gesetzt hast, dann geht das in die Hose.

Besser so
Delphi-Quellcode:
begin
  ListBox1.ItemIndex := ListBox1.TopIndex + 1;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 11:06
Danke für den Tip. Nein, MultiSelect steht auf False, es darf nur ein Eintrag gewählt werden.
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.069 Beiträge
 
Delphi 12 Athens
 
#8

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 11:13
Besser man ändert nicht die Selektierung, sondern die Positionierung.
ListBox1.TopIndex := ListBox1.ItemIndex - 1; (Sind das immer 3 Einträge, auch in Zukunft? Wenn nicht, dann besser sichtbare_Zeilenanzahl durch 2 , aka (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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#9

AW: ListBox, mittlerer Eintrag immer markiert

  Alt 3. Nov 2014, 11:16
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:
http://www.delphipages.com/forum/showthread.php?t=41035
MFG
LokutusvB

Geändert von LokutusvB ( 3. Nov 2014 um 14:01 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz