Einzelnen Beitrag anzeigen

Benutzerbild von X-Dragon
X-Dragon

Registriert seit: 14. Jan 2003
Ort: Schortens
289 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: ListViewBox: An eine bestimmte Stelle scrollen?

  Alt 15. Jul 2003, 12:31
Da editieren ja jetzt nicht mehr geht, hier nochmal kurz eine Korrektur, da die oben von mir beschriebene Lösung so nicht funtkioniert!

Mein Hauptdenkfehler lag dabei, das der Befehl "Scroll" keine Positionsangabe erlaubt sondern nur die Angabe um wieviel sich die Scollbalken in welche Richtung (+/-) verschieben sollen.

Also so funktioniert es jetzt bei mir:

Delphi-Quellcode:
  for i := 0 to listview1.Items.Count -1 do
    if listview1.Items[i].SubItems[1] = uhrzeit then // um einen Eintrag mit einer bestimmten Uhrzeit zu markieren/zentrieren
    begin
      listview1.SetFocus;
      listview1.ItemIndex := i;

      DisplayRec := listview1.Items[i].DisplayRect(drBounds);
      zh := DisplayRec.Bottom - DisplayRec.Top; // Zeilen-Höhe
      pos := listview1.TopItem.Index * zh; // Pos. des 1. sichtbaren Eintrags
      pos2 := i * zh; // Pos. des akt. Eintrags
      pos3 := pos2 - Round(listview1.ClientHeight/3); // neue Pos.
      listview1.Scroll(0,pos3-pos); // an neue Pos. verschieben

      break;
    end;
  Mit Zitat antworten Zitat