![]() |
In ListView zum letzten Item scrollen
Wie kann ich in einer TListView zum letzen Item scrollen? Wichtig dabei ist, dass die TListView in OnFormCreate mit Daten gefüllt wird und bevor das Fenster dem User angezeigt werden soll, soll gescrollt werden. Die folgenden zwei Lösungsmöglichkeiten funktioniert nicht, es wird nicht gescrollt:
Delphi-Quellcode:
Danke + Gruß
1) ListView.Items[ListView.Items.Count-1].MakeVisible(false);
2) ListView.Scroll(0,x); |
Re: In ListView zum letzten Item scrollen
Hallo,
so sollte es funktionieren:
Delphi-Quellcode:
ListView1.Selected:=ListView.Items[ListView.Items.Count-1];
ListView1.Selected.MakeVisible(False); |
Re: In ListView zum letzten Item scrollen
Zitat:
|
Re: In ListView zum letzten Item scrollen
Hallo,
ListView.Items[ListView.Items.Count-1].MakeVisible(false); klappt in FormActivate. Hier solltest du nur aufpassen, dass das mehrmals aufgerufen werden kann. Also am einfachsten eine Form-Variable bFirstInForm oder so, die in FormCreate auf True, in FormActivate auf False gesetzt wird.
Delphi-Quellcode:
Das Scrollen geht so schnell, dass der Nutzer das in FormActivate
FormActivate;
begin if bFirstInForm then begin bFirstInForm:= False; ListView.Items[ListView.Items.Count-1].MakeVisible(false); end; end; gar nicht mitbekommt. Heiko |
Re: In ListView zum letzten Item scrollen
Hallo,
mal eben dumm gefragt: sind in der Liste überhaupt Einträge vorhanden? Ich habe gerade den geposteten Beispielcode in der OnCreate ausprobiert. Bei mir macht die Liste das erwartete. |
Re: In ListView zum letzten Item scrollen
Du könntest ja mal das probieren:
Delphi-Quellcode:
Edit: ich mach das immer im OnChange
SendMessage(Listview.Handle, WM_VSCROLL, SB_BOTTOM, 0);
|
Re: In ListView zum letzten Item scrollen
Danke, mit FormActivate klappt es. Aber nur wenn die ListView auch in FormActivate befüllt wird. Wird sie in OnCreate befüllt klappt es nicht.
|
Re: In ListView zum letzten Item scrollen
Zitat:
|
Re: In ListView zum letzten Item scrollen
Hallo,
> Danke, mit FormActivate klappt es. Aber nur wenn die ListView auch in FormActivate befüllt wird. Wird > sie in OnCreate befüllt klappt es nicht. dann machst du irgendwas verkehrt. Das XP-Manifest verhindert doch sowas nicht. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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