AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListView.TopIndex wie immer an der jeweiligen Position halten?
Thema durchsuchen
Ansicht
Themen-Optionen

ListView.TopIndex wie immer an der jeweiligen Position halten?

Ein Thema von AlexII · begonnen am 16. Sep 2014 · letzter Beitrag vom 14. Okt 2014
Antwort Antwort
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 16. Sep 2014, 21:07
Hallo,

ich habe eine ListView mit vielen Einträgen bzw. Zeilen. Nun wenn ich mit der ListView arbeite (einfügen, löschen usw...) springt diese immer an den Anfang, ListView.TopIndex wird immer 0. Nun suche ich ein Ereignis wo ich den ListView.TopIndex immer halten möchte. Welches Ereignis würde dafür gut passen, oder gibt es vllt eine andere Möglichkeit die ListView nicht immer an den Anfangen springen zu lassen?

Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 16. Sep 2014, 21:34
ScrollInView oder so ähnlich gibt es, das scrollt dann soweit auf/ab, bis der gewählte Index (oder Item?) wieder sichtbar ist.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#3

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 17. Sep 2014, 10:13
ScrollInView oder so ähnlich gibt es, das scrollt dann soweit auf/ab, bis der gewählte Index (oder Item?) wieder sichtbar ist.
Finde ich nicht.... heißt das wirklich so?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 17. Sep 2014, 10:29
Nein, das war mein Fehler, ich dachte TListView sei von TScrollingWinControl abgeleitet. Dem war leider nicht so.

Es gibt aber etwas ähnliches: Du kannst dir aus deinem ListView.Items[x] ein TListItem holen und auf diesem MakeVisible(Bool) aufrufen.

Ansonsten: Auf welchem ViewStyle steht dein TListView? Bei mir rutscht der nicht ans Ende wenn man ein Item hinzufügt sondern bleibt wo er ist... (ViewStyle = vsList).
  Mit Zitat antworten Zitat
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 17. Sep 2014, 10:41
Eine einfache Lösung wäre natürlich auch, dass du die den TopIndex einfach merkst.
Delphi-Quellcode:
procedure TDialog.btnAddClick(Sender: TObject);
var
  temp: integer;
begin
  temp := ListView1.TopIndex;

  {...}  

  ListView1.TopIndex := temp;
end;
Grüße
Headbucket
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#6

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 17. Sep 2014, 10:54
Eine einfache Lösung wäre natürlich auch, dass du die den TopIndex einfach merkst.
Delphi-Quellcode:
procedure TDialog.btnAddClick(Sender: TObject);
var
  temp: integer;
begin
  temp := ListView1.TopIndex;

  {...}  

  ListView1.TopIndex := temp;
end;
Grüße
Headbucket
Genau, das habe ich auch vor, nur wo weiß ich noch nicht. Deswegen suche ich ein passendes Ereignis, wo ich den Code zum Merken packen kann.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#7

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 14. Okt 2014, 16:05
Eine einfache Lösung wäre natürlich auch, dass du die den TopIndex einfach merkst.
Delphi-Quellcode:
procedure TDialog.btnAddClick(Sender: TObject);
var
  temp: integer;
begin
  temp := ListView1.TopIndex;

  {...}  

  ListView1.TopIndex := temp;
end;
Grüße
Headbucket
Weiß Du vllt wie man das in Lazarus macht? TopIndex gibt es da nicht. Und
Code:
ListView1.TopItem.Index := StrToInt(XMLPropStorage1.StoredValue['DoneTopItemIndex']);
will er irgendwie nicht schlucken, es kommt der Fehler:

Zitat:
main.pas(196,29) Error: No member is provided to access property
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 14. Okt 2014, 16:11
Weiß Du vllt wie man das in Lazarus macht? Dann solltest Du das in der Zukunft gleich angeben, bzw. den richtigen Bereich wählen, den die FCL ist weder VCL noch FMX oder (Windows-) Common Contols
Markus Kinzler
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#9

AW: ListView.TopIndex wie immer an der jeweiligen Position halten?

  Alt 14. Okt 2014, 19:40
Weiß Du vllt wie man das in Lazarus macht? Dann solltest Du das in der Zukunft gleich angeben, bzw. den richtigen Bereich wählen, den die FCL ist weder VCL noch FMX oder (Windows-) Common Contols
War schon richtig, suche es für Delphi (was schon geklärt ist) und! für Lazarus.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  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 18:38 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