Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zaubern mit TTreeView (https://www.delphipraxis.net/109572-zaubern-mit-ttreeview.html)

taaktaak 3. Mär 2008 19:41


Zaubern mit TTreeView
 
Moin, Moin.

Mit TTreeView kann man ein kleines Zauberkunststück vorführen!

Ja, das ist nicht übertrieben. Man benötgt nur sehr wenige Zutaten: Ein Formular, ein TTreeView mit einigen Items und einen Button. Im OnCreate scheibt man einige wenige Items in das TreeView, das OnClick des Buttons verbindet man mit

Delphi-Quellcode:
procedure TfoTest3.Button1Click(Sender: TObject);
begin
  TreeView1.AlphaSort(true);
end;
Um das Zauberhafte deutlich zu machen, starten wir jetzt das Programm und betätigen mehrmals den Button. Falls das Tree unsortiert gefüllt wurde, wird es mit dem ersten ButtonClick sortiert - danach ist aber keine Veränderung mehr zu erkennen - logisch!

Nun wird das Programm erweitert und der eigentliche Trick eingebaut: Wir verbinden das OnCompare-Event des TreeView mit folgender LEEREN Prozedur

Delphi-Quellcode:
procedure TfoTest3.TreeView1Compare(Sender: TObject; Node1,
  Node2: TTreeNode; Data: Integer; var Compare: Integer);
begin
  // notwendig, damit ich nicht sofort wieder 'rausgeschmissen werde
end;
Nun starten wir erneut das Progrmm und können die kleine Zauberei vorführen: Mit jedem Click auf den Button ändert sich die Sortierrichtung im TreeView - voila!
:cheer:

SirThornberry 3. Mär 2008 19:45

Re: Zaubern mit TTreeView
 
kein Kunsstück. Es hängt einfach mit dem Wert von Compare zusammen der nicht geändert wird. Dadurch ist immer das eine Item größer als das andere und wird daher umsortiert. Bei erneuten Drücken ist durch das verdrehen des vorhergenden Durchlaufs dann das andere größer und es wird wieder umgenordnet. Das die erste Sortierung fehlerfrei funktionieren soll wundert mich jedoch.

taaktaak 3. Mär 2008 20:25

Re: Zaubern mit TTreeView
 
Ach Mann... Jens, ich vermisse das kindliche Erstaunen :zwinker:
Aber mal im Ernst, habe das nur durch Zufall entdeckt und war zuerst schon ziemlich erstaunt wie einfach man die Sortierrichtung umdrehen kann


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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