![]() |
Höhe von TreeView
Ich habe ein TreeView in meinem Programm.
Nun würde ich gerne herausfinden, welche Höhe/Breite ich für die Komponente einstellen muss, wenn ich TreeView.FullExpand ausführe. Da der Inhalt der TreeView unterschiedlich ist, kann ich natürlich keine feste Höhe/Breite einstellen... |
Re: Höhe von TreeView
du könntest durchzählen wieviel Items (Rekursiv) im Baum vorhanden sind und dann mit der Höhe eines Items multiplizieren.
|
Re: Höhe von TreeView
Für's erste sollte das reichen sind zum Glück noch nicht so viele Nodes.
Allerdings: Ich finde irgendwie keine Eigenschaft ItemHeight o.ä. Wie also herausfinden, wie hoch ein Node ist? Und wie sieht's mit der Breite aus? |
Re: Höhe von TreeView
Zitat:
|
Re: Höhe von TreeView
Für die Breite
![]() Einfach TreeView1.Canvas (oder so) und einen Text übergeben und je nach ebene noch etwas für die Baumstruktur übergeben, dann noch den Rahmen zum breitestem Eintrag dazurechnen und schon fertig ^^ |
Re: Höhe von TreeView
Ich hab's für die Breite noch nicht testen können.
Aber für die Höhe funktioniert das leider nicht :(. Es sieht so aus als ob die Höhe eines Nodes GRÖSSER als die TextHeight ist.... |
Re: Höhe von TreeView
Die höhe und Breite ist immer etwas größer, da es ja schließlich noch 'nen kleinen Rand gibt, aber dieser scheint "immer" in etwa gleich groß zu sein.
|
Re: Höhe von TreeView
Hallo Marc,
vielleicht hilft dir die Methode TreeNode.DisplayRect() weiter. Grüße vom marabu PS: Allerdings finde ich nicht gut, was du vorhast - wenn du das vorhast, was ich denke, dass du es vorhast... |
Re: Höhe von TreeView
was denkst du denn was ich vorhabe?
Ich will nur einen Baum vollständig darstellen, der Informationen über meinen TS Server anzeigt (Welche Channels verfügbar sind, wer wo drin ist....) Und da finde ich es nervig, wenn das Fenster zu klein ist... |
Re: Höhe von TreeView
Wenn du die TreeView in einem modalen, nicht größenveränderbaren Dialogfenster zeigst und darüber hinaus noch der einzige Benutzer deines Programms bist, dann vergiss alles, was ich hier schreibe.
Die Kontrolle über die Größe der Fenster überlasse ich dem Benutzer meiner Programme - abgesehen von Dialogfenstern. Da nützt mir kein Code, der eine TreeView so dimensioniert, dass alle Knoten vollständig sichtbar sind. Wenn die Zahl der Knoten zu groß ist, dann werden so oder so Rollbalken benötigt. Ich lasse den Benutzer die TreeView auf zwei Arten indirekt dimensionieren: über den window manager (durch Größenänderungen am Fenster) und über einen Splitter zur Einstellung der Proportionen innerhalb der client area. Durch die Steuerung der Fenstergröße aus dem Programm heraus erschwerst du dem Benutzer die Verwaltung des freien Platzes auf seinem Desktop. Das alles sind Überlegungen zur Software-Ergonomie. Freundliche Grüße vom marabu Nachtrag: Wahrscheinlich hast du meinen Hinweis auf TreeNode.DisplayRect() total übersehen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz