AGB  ·  Datenschutz  ·  Impressum  







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

TreeView Expand

Ein Thema von tomkupitz · begonnen am 8. Mär 2021 · letzter Beitrag vom 8. Mär 2021
Antwort Antwort
tomkupitz

Registriert seit: 26. Jan 2011
322 Beiträge
 
Delphi 11 Alexandria
 
#1

TreeView Expand

  Alt 8. Mär 2021, 11:57
Hallo,

ich habe folgenden Code:

Code:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    procedure FormCreate(Sender: TObject);
    procedure FormClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  RootNode, ChildNode, SubChildNode: TTreeNode;

procedure TForm1.FormCreate(Sender: TObject);
begin
  RootNode:=TreeView1.Items.AddFirst(nil, 'Root');

  ChildNode:=RootNode.Owner.AddChildObject(RootNode, 'Child', nil);

  SubChildNode:=RootNode.Owner.AddChildObject(ChildNode, 'SubChild', nil);

  RootNode.Expand(True);
end;

procedure TForm1.FormClick(Sender: TObject);
begin
  if ChildNode.Count>0 then
    ChildNode.Item[0].Delete
  else
    ChildNode.HasChildren:=True;
end;

end.
Wenn ich einmal auf die Form klicke wird die SubChildNode entfernt. Beim zweiten Klick wird HasChildren der ChildNode auf True gesetzt. Trotzdem ChildNode.Count=0 ist wird nun das "Minus bzw. Pfeil unten" vor der ChildNode angezeigt. Das möchte ich ändern (also "Plus oder Pfeil rechts"). Aber wie?

Danke und beste Grüße
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.610 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: TreeView Expand

  Alt 8. Mär 2021, 13:37
Ich nutze die normale TreeView Komponente nicht. Aber vmtl. wird der Expanded State der Node nicht zurückgesetzt wenn die letzte Node gelöscht wird.

Stell den doch mal manuell zurück und schau ob sich was ändert. Dann solltest du dann mal schauen, ob es eine speziell dafür ausgelegte Funktion gibt und ChildNodes zu löschen anstatt das direkt über die Items Property zu machen. Diese Funktion beinhaltet dann wahrscheinlich genau einen solchen Aufruf um den Status zurückzusetzen.
  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 05:30 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