Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   VirtualStringTree Node.Checkbox (https://www.delphipraxis.net/192282-virtualstringtree-node-checkbox.html)

Hobbycoder 5. Apr 2017 11:48

VirtualStringTree Node.Checkbox
 
Hi,

was muss man alles machen, damit man einfache Checkboxen vor jedes Node bekommt?

ich habe bei erzeugen der Nodes bei jedem Node Checktype:=ctCheckBox und CheckState:=csCheckedNormal gesetzt.
Und in den MiscOptions toCheckSupport auf True.

Trotzdem erscheinen bei mir keine Checkboxen.

Gruß Hobbycoder

haentschman 5. Apr 2017 12:46

AW: VirtualStringTree Node.Checkbox
 
Moin...:P

:gruebel: Ich mache das auch nicht anders...
Delphi-Quellcode:
Node := tvRights.GetFirst;
  while Assigned(Node) do
  begin
    Data := tvRights.GetNodeData(Node);
    State := TdUserRight(Data^.DataRight).AllowedState;
    if State <> asNode then
    begin
      case aMode of
        True:
          Node.CheckType := ctCheckBox; // einblenden
        False:
          Node.CheckType := ctNone; // ausblenden
      end;
      case State of
        asAllowed:
          Node.CheckState := csCheckedNormal;
        asNotAllowed:
          Node.CheckState := csUncheckedNormal;
      end;
    end;
    Node := tvRights.GetNext(Node);
  end;
  tvRights.Repaint;

madas 5. Apr 2017 12:51

AW: VirtualStringTree Node.Checkbox
 
Zitat:

Zitat von Hobbycoder (Beitrag 1366515)
Hi,

was muss man alles machen, damit man einfache Checkboxen vor jedes Node bekommt?

ich habe bei erzeugen der Nodes bei jedem Node Checktype:=ctCheckBox und CheckState:=csCheckedNormal gesetzt.
Und in den MiscOptions toCheckSupport auf True.

Trotzdem erscheinen bei mir keine Checkboxen.

Gruß Hobbycoder

Einmalig setzen wir Checktype:=ctCheckBox und CheckState:=csUncheckedNormal im NodeInit. Danach wird nur an der gewünschten Stelle im Quellcode der Checkstate umgesetzt.
toCheckSupport ist true.

Demnach sollte es so passen.

Hobbycoder 5. Apr 2017 13:12

AW: VirtualStringTree Node.Checkbox
 
Entschuldigt bitte, dass ich eure Zeit verschwendet habe. :oops:

Ich Hirni hab natürlich die erste Spalte (so wie ich es vom TTreeView her gewohnt bin) gleich mal auf die Width:=20 gesetzt.
Und natürlich waren meine Checkboxen vorhanden...aber sehen konnte ich sie nicht ;-)
Erst ein toShowRoot:=False sorgte dafür, dass meine Checkboxen auch im sichtbaren Bereich gezeichnet wurden :-)

Gruß Hobbycoder

haentschman 5. Apr 2017 13:30

AW: VirtualStringTree Node.Checkbox
 
Zitat:

Entschuldigt bitte, dass ich eure Zeit verschwendet habe.
...das kostet dich auf den Forentagen ein :cheers:

Aviator 5. Apr 2017 19:25

AW: VirtualStringTree Node.Checkbox
 
Zitat:

Zitat von Hobbycoder (Beitrag 1366536)
Entschuldigt bitte, dass ich eure Zeit verschwendet habe. :oops:

Ich Hirni hab natürlich die erste Spalte (so wie ich es vom TTreeView her gewohnt bin) gleich mal auf die Width:=20 gesetzt.
Und natürlich waren meine Checkboxen vorhanden...aber sehen konnte ich sie nicht ;-)
Erst ein toShowRoot:=False sorgte dafür, dass meine Checkboxen auch im sichtbaren Bereich gezeichnet wurden :-)

Gruß Hobbycoder

toShowRoot bedeutet, dass die Wurzeln und die Expand Symbole der einzelnen Knoten gezeichnet werden. Sobald du jetzt Children von Nodes hinzufügen würdest, würdest du diese nur noch per Code oder mit Pfeil rechts/links auf der Tastatur erweitern bzw. zusammenklappen können.

Wenn du das natürlich nicht benötigst, dann sollte das kein Problem sein.

Und wie schon von den "Vorrednern" gezeigt muss der CheckType der Node gesetzt werden damit die CheckBoxen/Radio Buttons sichtbar werden.

Towmuz 6. Apr 2017 06:49

AW: VirtualStringTree Node.Checkbox
 
Zitat:

Zitat von Aviator (Beitrag 1366556)
Sobald du jetzt Children von Nodes hinzufügen würdest, würdest du diese nur noch per Code oder mit Pfeil rechts/links auf der Tastatur erweitern bzw. zusammenklappen können.

Doppelklick geht auch, ohne das im Event zuweisen zu müssen.

Aviator 6. Apr 2017 08:49

AW: VirtualStringTree Node.Checkbox
 
Zitat:

Zitat von Towmuz (Beitrag 1366562)
Zitat:

Zitat von Aviator (Beitrag 1366556)
Sobald du jetzt Children von Nodes hinzufügen würdest, würdest du diese nur noch per Code oder mit Pfeil rechts/links auf der Tastatur erweitern bzw. zusammenklappen können.

Doppelklick geht auch, ohne das im Event zuweisen zu müssen.

Ja richtig. Hatte ich gerade nicht mehr dran gedacht. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 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