![]() |
TreeView Expand
Hallo,
ich habe folgenden Code:
Code:
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?
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. Danke und beste Grüße |
AW: TreeView Expand
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:07 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