procedure TMainFormDemo.Button1Click(Sender: TObject); begin //Sauvegarde le TTreeView en flux sur disque WriteComponentResFile('tv1.dat', Treeview1); end; procedure TMainFormDemo.Button2Click(Sender: TObject); begin //Efface le contenu du TTreeView TreeView1.Items.Clear; //Recharge le contenu du TTreeView à partir du fichier ReadComponentResFile('tv1.dat', Treeview1); end;C'est simple, rapide et terriblement efficace.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiontype TForm1 = class (TForm) TreeView1: TTreeView; ComboBoxEx1: TComboBoxEx; ImageList1: TImageList; procedure FormCreate(Sender: TObject); procedure TreeView1Click(Sender: TObject); procedure ComboBoxEx1Change(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i: integer; Item: TComboExItem; begin //Remplissage du comboBoxEx for i : = 0to ImageList1.Count - 1do begin {Crée autant de lignes que d'images dans ImageList1} Item := ComboBoxEx1.ItemsEx.Add; //Lettres de l'alphabet en partant de A Item.Caption := Chr(65 + i); {Chaque ligne du ComboBoxEx se voit attribuer} Item.ImageIndex := i; end ; ComboBoxEx1.ItemIndex : = 0; end; procedure TForm1.TreeView1Click(Sender: TObject); begin {Sélectionner la ligne correspondant à l'image du noeud sélectionné dans le TTreeView} if Assigned(Treeview1.Selected) then ComboBoxEx1.ItemIndex := Treeview1.Selected.SelectedIndex; end ; procedure TForm1.ComboBoxEx1Change(Sender: TObject); begin with TreeView1 do //toujours vérifier qu'un élément est sélectionné if Assigned(Selected) then begin {Affectations des index d'images correspondant à l'élément sélectionné dans le TComboBoxEx} Selected.SelectedIndex : = ComboBoxEx1.ItemIndex; Selected.ImageIndex := ComboBoxEx1.ItemIndex; //forcer un refresh du TTreeView Repaint; end ; end; Pour visualiser la concordance entre la liste déroulante des images et celle affichée par un noeud, j'ai employé un TComboBoxEx (onglet Win32, Delphi 6 et +) et en affectant les propriétés ImageList des deux composants visuels à ImageList1.