AGB  ·  Datenschutz  ·  Impressum  







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

Höhe von TreeView

Ein Thema von DevilsCamp · begonnen am 22. Nov 2005 · letzter Beitrag vom 24. Nov 2005
Antwort Antwort
DevilsCamp
(Gast)

n/a Beiträge
 
#1

Höhe von TreeView

  Alt 22. Nov 2005, 20:29
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...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Höhe von TreeView

  Alt 22. Nov 2005, 20:31
du könntest durchzählen wieviel Items (Rekursiv) im Baum vorhanden sind und dann mit der Höhe eines Items multiplizieren.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#3

Re: Höhe von TreeView

  Alt 22. Nov 2005, 20:41
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?
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#4

Re: Höhe von TreeView

  Alt 22. Nov 2005, 20:43
Zitat von SirThornberry:
du könntest durchzählen wieviel Items (Rekursiv) im Baum vorhanden sind und dann mit der Höhe eines Items multiplizieren.
Das geht auch schneller: TreeView.Items.Count
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Höhe von TreeView

  Alt 22. Nov 2005, 20:59
Für die Breite

Länge und Höhe eines Textes (String)

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 ^^
$2B or not $2B
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#6

Re: Höhe von TreeView

  Alt 23. Nov 2005, 08:08
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....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

Re: Höhe von TreeView

  Alt 23. Nov 2005, 18:08
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.
$2B or not $2B
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Höhe von TreeView

  Alt 23. Nov 2005, 18:47
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...
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#9

Re: Höhe von TreeView

  Alt 24. Nov 2005, 08:01
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...
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Höhe von TreeView

  Alt 24. Nov 2005, 09:14
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...
  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 08:55 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