AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX: TreeViewItem ScrollToItem

Ein Thema von Christoph Schneider · begonnen am 12. Jun 2019 · letzter Beitrag vom 24. Jun 2019
Antwort Antwort
Benutzerbild von Christoph Schneider
Christoph Schneider

Registriert seit: 7. Okt 2008
Ort: CH-Baar
54 Beiträge
 
Delphi 11 Alexandria
 
#1

FMX: TreeViewItem ScrollToItem

  Alt 12. Jun 2019, 14:02
Ich möchte ein TreeViewItem in den sichtbaren Bereich scrollen. Leider fand ich dazu in der TTreeView keine geeignete Methode.

Meine eigene Lösung funktioniert offensichtlich auch nicht in allen Fällen, denn die Item.Position stimmt nicht immer.
Code:
procedure TfmxMain.MakeItemVisible(Item: TTreeViewItem);
begin
  trvMyTreeView.ViewportPosition :=
    TPointF.Create(min(Item.Position.X - trvSlideGroups.ClientWidth / 2, 0),
      min(Item.Position.Y - trvSlideGroups.ClientHeight / 2, 0));
end;
Hat jemand eine Idee, wie man dieses Problem lösen kann?
Christoph Schneider
  Mit Zitat antworten Zitat
Benutzerbild von Christoph Schneider
Christoph Schneider

Registriert seit: 7. Okt 2008
Ort: CH-Baar
54 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX: TreeViewItem ScrollToItem

  Alt 24. Jun 2019, 15:55
Nach vertiefem Studium von FMX.TreeView fand ich eine einfache Lösung:
Code:
procedure TfmxMain.MakeItemVisible(Item: TTreeViewImageItem);
begin
  Item.Deselect;
  Item.Select;
end;
Dadurch wird die interne methode TCustomTreeView.UpdateSelection aufgerufen, die in der Folge das neu selektierte Item in den sichtbaren Bereich scrollt.
Christoph Schneider
  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 22:07 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