Announcement

Collapse
No announcement yet.

TreeView Hilfe

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TreeView Hilfe

    Hat vielleicht jemand einen Beispiel-Code für TreeView für Delphi7? Folgende Funktionen sollten ev. bei Mausklick ausgeführt werden:<BR>
    1) Neuen Knoten (bzw. Child) an Mausposition einfügen<BR>
    2) Knoten an Mausposition löschen bzw. ändern<BR>
    3) An jedem Knotenpunkt eine Info hinterlegen, welche bei Selected in einem TLabel angezeigt wird.<BR>
    4) Geänderte Knotennamen automatisch speichern.<BR>
    MFG<BR>
    HSBC

  • #2
    Hallo,<br>
    <pre><font name="Verdana" size=2>
    zu 1) das habe ich bislang nur bei Drag&Drop Operationen gebraucht.
    Um zu ermitteln über welchen Konten sich die Maus befindet,
    gibt es die TTreeView.GetNodeAt Funktion. Innerhalb des
    MouseMove Events sollte es auch funktionieren.
    zu 2) siehe zu 1 oder selektiere den Konten mit der Maus.
    Dann hilft TTreeView.Selected.Delete weiter.
    zu 3) Jeder Knoten hat eine Data Eigenschaft. Die Data Eigenschaft
    enthält bei mir meistens einen Verweis auf ein Objekt, das den
    Konten näher beschreibt. Z.B. könnte dieses Objekt auch eine
    Info enthalten, die bei einem Select in einem TLabel angezeigt
    wird. Hierfür bietet sich das OnChange Ereignis an.
    Selbstverständlich muss dieses Objekt auch wieder freigegeben
    werden. Ab D5 gibt es dafür das OnDeletion Event.
    zu 4) TTreeview besitzt die Methoden LoadFromStream und SaveToStream.
    Damit dann der aktuelle Baum gespeichert werden bzw. wieder
    geladen werden. Leider ist es mir bisher nicht gelungen, die
    Objekte, auf die die Data Eigenschaft verweist, incl. der
    Baumstruktur in einer Datei zu speichern. Daher verwende ich
    zur Zeit zwei Dateien.</font></pre&gt

    Comment


    • #3
      Hallo,<BR>
      danke für den Kommentar. Die ersten 3 Punkte habe ich mittlerweile erfolgreich nachvollzogen. Derzeit habe ich nur Probleme beim Speichern von DATA-Eigenschaften. Mit SaveToFile bzw. SaveToStream werden zwar alle Knoten gespeichert, jedoch keinerlei Data-Eigenschaften. Entweder mache ich hier etwas falsch oder geht das tatsächlich nicht. Die Data-Eigenschaften sind nur während der Laufzeit des Programmes verfügbar, nach dem Speichern bzw. Laden der Knoten sind diese nicht mehr vorhanden.<BR>
      Ebenfalls würde mich interessieren, warum beim Hinzufügen von Knoten in der Entwicklungsumgebung die Knoten automatisch gespeichert werden, beim Arbeiten mit der compilierten Anwendung jedoch händisch gespeichert werden müssen.<BR>
      Vielleicht liest diesen Beitrag auch ein kompetenter Borland-Entwickler und kann dazu Stellung nehmen, da weder in den Help-Dateien noch in den Handbüchern, noch in zusätzlicher Lektüre auch nur irgendein Hinweis bzw. detaillierte Beschreibung zu TTreeView zu finden ist.<BR>
      <BR>
      Mit freundlichen Grüßen<BR>
      Herber

      Comment

      Working...
      X