Hallo,
ich habe hier ein LevelGraphControl mit diversen Nodes. Das funktioniert an sich ganz gut, nur bin ich mit der Ausgabe mit "lgoAutoLayout" nicht zufrieden. Ich kann diese Option deaktivieren, dann werden die Nodes aber alles übereinander gelegt.
Eine Eigenschaft Left, Top, ... bei Graph.GetNode habe ich nicht gefunden. Muss man das anders machen oder geht das gar nicht?
Vielen Dank.
TLvlGraphControl: Nodes manuell positionieren
-
- Lazarusforum e. V.
- Beiträge: 317
- Registriert: So 5. Mai 2019, 16:52
- OS, Lazarus, FPC: ArchLinux und Windows mit FPCUPdeluxe (L: 2.0.X, FPC 3.2.0)
- CPU-Target: x86_64, i386
- Wohnort: Bayreuth
TLvlGraphControl: Nodes manuell positionieren
Tipp für PostgreSQL: www.pg-forum.de
Re: TLvlGraphControl: Nodes manuell positionieren
Ich hab's selbst noch nicht so gemacht, aber möglicherweise kommst du mit diesen Properties weiter:
- TLvlGraphLevel.DrawPosition, wobei TLvlGraphLevel über Graph.Levels[index] zugänglich ist und Graph eine public-Eigenschaft des TLvlGraphControl ist; die Levels entsprechen der horizontalen Position der Nodes.
- TLvlGraphNode.DrawPosition, wobei TLvlGraphNode über Graph.Nodes[index] zugänglich ist. Das wäre die vertikale Position eines Nodes. Es gibt auch eine schreibbare Property TLvlGraphNode.Level, so dass man damit einen Node auch in ein anderes Level verschieben könnte.