Tlistbox MakeCurrentVisible

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Tlistbox MakeCurrentVisible

Beitrag von malabarista »

Bei TListbox klappt das MakeCurrentVisible nicht, wenn Itemindex ausserhalb des ursprünglich sichtbaren Bereiches liegt.
D.h. die Listbox wird zuerst angezeigt ohne dass ItemIndex gesetzt ist.
Später im Programm (nach ein paar Buttonclicks) wird Itemindex gesetzt und MakeCurrentVisible aufgerufen.

Der Effekt ist aber nicht richtig reproduzierbar.

Code: Alles auswählen

     i:=21;
     lbox.ItemIndex:=i;
     lbox.MakeCurrentvisible();
 

Der richtige Eintrag ist markiert, aber die Listbox scrollt nicht automatisch vor.
Wie kann ich das ändern ?

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: Tlistbox MakeCurrentVisible

Beitrag von theo »

Bei mir geht das (Lazarus 1.7 r54325 FPC 3.0.2 x86_64-linux-gtk2)

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Tlistbox MakeCurrentVisible

Beitrag von malabarista »

Kann es eventuell daran liegen, dass es sich dabei um zwei Listboxen in einem modalen Fenster handelt ?
Wenn ich dieses Fenster mit Show aufrufe statt Showmodal ist die Anzeige in den Listboxen korrekt.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Tlistbox MakeCurrentVisible

Beitrag von wp_xyz »

Tut mir leid ich kann mit unvollständigen und sich ändernden Beschreibungen (vorher war's 1 Listbox, jetzt sind's zwei) nichts anfangen. Bitte poste ein Demoprojekt, in dem sich das beschriebene Verhalten zeigt, dann kann man mehr sagen.

Antworten