AGB  ·  Datenschutz  ·  Impressum  







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

TVirtualStringTree Nodes klappen nicht auf/ zu

Ein Thema von Aromanaut · begonnen am 10. Aug 2022 · letzter Beitrag vom 11. Aug 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.658 Beiträge
 
Delphi 12 Athens
 
#1

AW: TVirtualStringTree Nodes klappen nicht auf/ zu

  Alt 10. Aug 2022, 16:51
Habe im GetText noch nen tv.repaint angehängt und jetzt läuft es.
Also, ich würde ja lieber klären, warum das gerade in deinem Fall nicht von alleine läuft, wie vermutlich bei einer deutlichen Mehrheit hier.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Aromanaut

Registriert seit: 22. Mär 2019
15 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TVirtualStringTree Nodes klappen nicht auf/ zu

  Alt 10. Aug 2022, 21:33
Ja, ich habe bei den Beispielen die ich mir angeschaut habe auch nirgends ein repaint gesehen.
In dem Tutorial vom VirtualTreeView
https://www.delphi-treff.de/tutorial...ualtreeview/5/
habe ich auch keine Hinweis darauf gesehen.
Und nein, ich habe keine weiteren Events implementiert. Ich bin noch relativ am Anfang und war davon ausgegangen, dass diese Art Funktionalität (Auf- und Zuklappen der Nodes)
irgendwie eine Grundfunktion ist, die das VirtualTreeView allein mitbringt.
Woran könnte es denn noch liegen?

[Edit]
Mein Kollege hat die Lösung gefunden. Es liegt an den BeginUpdate und Endupdate Funktionen. Ich hatte versehentlich die Die EndUpdate Funktion nicht in der selben Schleife wie die BeginUpdate und damit mehr BeginUpdate ausgeführt als EndUpdate. Sowohl BeginUpdate als auch EndUpdate haben intern einen Zähler, der mitzählt, wie oft die jeweilige Funktion aufgerufen wird. Nur wenn der Zähler bei 0 im EndUpdate angekommen ist, wird der UpdateModus tatsächlich beendet.

Geändert von Aromanaut (11. Aug 2022 um 10:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi
Online

Registriert seit: 17. Jul 2005
907 Beiträge
 
Delphi 12 Athens
 
#3

AW: TVirtualStringTree Nodes klappen nicht auf/ zu

  Alt 11. Aug 2022, 08:17
Normalerweise ist das auch eine Standard-Funktionalität von dem VST. Ich nutze den VST selber auch sehr gerne - allerdings entweder als Baumstruktur (mit den [+] / [-] zum Ein- und Ausklappen) oder als Grid mit mehreren Spalten. In der Kombination bisher nicht.

Kann sein, dass du da noch in den (sehr umfangreichen) Optionen des VST rumspielen musst. Vielleicht toGridExtensions in den MiscOptions oder so?

Ansonsten ist das Tutorial ja etwas in die Jahre gekommen. Diese Record-Typen PTreeData und TTreeData braucht man ja gar nicht mehr. Mit Generics kann man die eigenen Objekte direkt reinhängen

Delphi-Quellcode:
// einfügen
newNode := VST.AddChild(Nil, myData); // ggf. anderen Node statt NIL als ersten Parameter

// Zugriff, z.B. bei OnGetText
myData := VST.GetNodeData<TMyData>(Node);
Das macht die Verwendung deutlich einfacher.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: TVirtualStringTree Nodes klappen nicht auf/ zu

  Alt 11. Aug 2022, 21:39
Wird mal das Repaint() im GetText Event wieder raus und beobachte mal die CPU Auslastung deines Programms. Ich könnte wetten, dass die höher als die üblichen 0-2% ist. Das wäre dann ein Zeichen dafür, dass der Tree immer wieder in einer Endlosschleife malt was hier auch schon erwähnt wurde. In dem Fall würde ich dann einfach mal nacheinander die Events abkoppeln oder einfach alle abkoppeln und nacheinander wieder einschalten.
  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 17:59 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