Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: ListView Scrollen per Code

  Alt 22. Jan 2018, 10:26
Es geht vielleicht auch noch einfacher, in dem man sich nur auf das aktuelle und das neue TopItem konzentriert:
Delphi-Quellcode:
  DI := ListView1.ItemIndex - Succ(ListView1.VisibleRowCount) div 2; // Index des neuen TopItem
  R1 := ListView1.TopItem.DisplayRect(drSelectBounds); // Position des aktuellen TopItem
  R2 := ListView1.Items[DI].DisplayRect(drSelectBounds); // Position des neuen TopItem
  ListView1.Scroll(0, R2.Top - R1.Top);
Es fehlen noch ein paar Plausibilitätsprüfungen wie
  • Gibt es überhaupt Einträge
  • Ist ein Eintrag ausgewählt
  • Sind überhaupt Zeilen sichtbar
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming

Geändert von Uwe Raabe (22. Jan 2018 um 10:50 Uhr)
  Mit Zitat antworten Zitat