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/)
-   -   Delphi Treeview - alle Trees expanded (https://www.delphipraxis.net/103127-treeview-alle-trees-expanded.html)

Matt 10. Nov 2007 14:17


Treeview - alle Trees expanded
 
Hallo DPler,

ich weiß leider keine Suchworte für mein Problem, deswegen frage ich einfach ohne sehr ausführlich gesucht zu haben.

Also ich habe ein Treeview mit bis zu 5 Elementen in die Tiefe. Nun möchte ich gern, um das wilde durchklicken zu vereinfachen, beim öffnen des Formulars bereits alle Knoten (den ersten) aufgeklappt haben, sodass man die 2. Ebene gleich sieht.

Jetzt:

-A
++A1
++A2
+B
+C
+D

Gewünscht:

-A
++A1
++A2
-B
++B1
-C
++C1
-D
++D1


Ist das möglich?

Bin für Eure Anregungen sehr dankbar.

LG aus HH
Matt

DeddyH 10. Nov 2007 14:22

Re: Treeview - alle Trees expanded
 
IMHO sollte FullExpand das sein, was Du suchst.

ibp 10. Nov 2007 14:23

Re: Treeview - alle Trees expanded
 
ja schau mal unter collaps :gruebel: nach...

marabu 10. Nov 2007 14:28

Re: Treeview - alle Trees expanded
 
Hi,

ich habe das so verstanden, dass nur die erste Ebene aufgeklappt werden soll:

Delphi-Quellcode:
procedure TDemoForm.ButtonClick(Sender: TObject);
var
  i: Integer;
  node: TTreeNode;
begin
  with TreeView.Items do
  begin
    BeginUpdate;
    node := GetFirstNode;
    while Assigned(node) do
    begin
      node.Expand(False);
      node := node.getNextSibling;
    end;
    EndUpdate;
  end;
end;
Grüße vom marabu

Matt 10. Nov 2007 14:31

Re: Treeview - alle Trees expanded
 
Danke, dass mit "FullExpand" kenne ich, aber da werden mir ja alle 5 Ebenen angezeigt.

@marabu
JAWOLLLLL... genau das habe ich gemeint, SUPER vielen DANK!!!

Matt 10. Nov 2007 14:36

Re: Treeview - alle Trees expanded
 
@marabu

das merkwürdige ist jetzt nur, dass meine Form nicht mehr maximized ist und ich kann Sie auch nicht vergrößern !!??
Habe dein Quellcode direkt bei onCreate oder onShow getestet, aber es bleibt immer klein.

Selbst ein WindowState := wsmaximized danach hilft nichts!

Gruß Matt

marabu 10. Nov 2007 14:56

Re: Treeview - alle Trees expanded
 
Hi Matt,

ich habe keine Probleme erwartet:

Delphi-Quellcode:
type
  TDemoForm = class(TForm)
    TreeView: TTreeView;
    Button: TButton;
    procedure FormShow(Sender: TObject);
  private
    procedure ExpandTopLevel;
  end;

var
  DemoForm: TDemoForm;

implementation

{$R *.dfm}

procedure TDemoForm.ExpandTopLevel;
var
  i: Integer;
  node: TTreeNode;
begin
  with TreeView.Items do
  begin
    BeginUpdate;
    node := GetFirstNode;
    while Assigned(node) do
    begin
      node.Expand(False);
      node := node.getNextSibling;
    end;
    EndUpdate;
  end;
end;

procedure TDemoForm.FormShow(Sender: TObject);
begin
  ExpandTopLevel;
end;
Funktioniert bei mir mit WindowState = wsMaximized.

Freundliche Grüße

Matt 10. Nov 2007 15:01

Re: Treeview - alle Trees expanded
 
Sorry, war meine Schuld...
Wenn ich das maximized vor dem Expand setze funzt es...

DANKE DIR!!!


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