AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem mit toAutoTristateTracking bei VirtualStringTree
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit toAutoTristateTracking bei VirtualStringTree

Ein Thema von Oracle · begonnen am 26. Sep 2008 · letzter Beitrag vom 2. Okt 2008
Antwort Antwort
Oracle
(Gast)

n/a Beiträge
 
#1

Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 26. Sep 2008, 13:17
Ich baue einen VirtualStringTree auf, in dem dem Nodes auf Level 0 eine Tristate CheckBox, und deren ChildNodes jeweils normale Checkboxes haben. Nachdem ich in den TreeOptions toAutoTristateTracking aktiviert habe funktionert auch, dass er automatische die Level 0 Nodes anpasst. Sprich er trägt automatisch bei den TriState Checkboxes den richtigen Zustand ein. Soweit so gut.

Aber wenn ich den Baum das erste Mal aufbauen lasse, setzt er noch nicht automatisch die TriState Checkboxes. Erst wenn ich bei einem Child einen Haken mache wird automatisch die entsprechende TriState CheckBox angepasst. Wie kann ich veranlassen, dass er nach beim ersten Aufbau des Trees die Zustände der Tristate Boxen setzt.

Vielen Dank schonmal im Vorraus
  Mit Zitat antworten Zitat
Oracle
(Gast)

n/a Beiträge
 
#2

Re: Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 29. Sep 2008, 10:28
Benutzt keiner die AutoTriStateTracking Option von euch? Oder habe ich mich etwas kompliziert ausgedrückt?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 29. Sep 2008, 10:42
Hallo

Ich verstehe das Problem. Jedoch kann ich mir aus dem Gedächtnis nicht so genau vorstellen, woran es liegen könnte.
Ein kleines Demo-Projekt würde auf jeden Fall helfen damit zu experimentieren.
Thomas
  Mit Zitat antworten Zitat
Oracle
(Gast)

n/a Beiträge
 
#4

Re: Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 2. Okt 2008, 10:19
Hier ist beispielhaft der Code mit dem ich den Baum aufbaue. Es wird ein Hauptnode mit 4 Child Nodes erzeugt. Die Childnodes sind alle gechecked. Trotzdem bleibt der Hauptnode ungecheckt, obwohl ich die Option toAutoTristateTracking auf true gesetzt habe. Ändere ich jetzt per Mausclick den Checkstate eines der Children, dann funktioniert das AutoTriStateTracking.

Delphi-Quellcode:
procedure BuildTree;
var
  ixChild : integer;
  Node, Node2: PVirtualNode;
begin
  Tree.BeginUpdate;
  Tree.Clear;

  Node := Tree.AddChild(nil);
  Tree.ValidateNode(Node, False);
  Data := Tree.GetNodeData(Node);
  Node .CheckType := ctTriStateCheckBox

  for ixChild := 0 to 3 do
  begin
    // Füge Element der Liste hinzu
    Node2 := Tree.AddChild(Node);
    Node2.CheckState := csCheckedNormal
    Node2.CheckType := ctCheckBox;
    Tree.ValidateNode(Node2, False);
  end;

  SamplesVST.FullExpand;
  SamplesVST.EndUpdate;
end;
Also nochmal die Frage: Wie kann ich den Tree dazu bewegen, bereits nach dem Neuaufbau des Trees den Checkstates automatisch an den Parentnode weiterzugeben.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 2. Okt 2008, 12:58
in deinem Code veränderst du interne Strukturen vom VST.
versuche direkte zugriffe auf die nodedaten zu vermeiden!

geh besser über die VST Methoden:

vst.checkstate[node] :=
vst.checktype[node] :=

dann sollte es klappen
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Oracle
(Gast)

n/a Beiträge
 
#6

Re: Problem mit toAutoTristateTracking bei VirtualStringTree

  Alt 2. Okt 2008, 15:33
Tatsache. Genau da lag das Problem. Ab jetzt weiss ich bescheid.
Vielen Dank
  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 04:31 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