works:programmer:delphi:delphi-tree-view
Содержание
Работа с деревом TreeView (TTreeView)
Создание элемента
function TfmMain.Push(AParent: TTreeNode; ACaption: string; AData: TMom; Icon: Integer): TTreeNode; begin Result := tvwMain.Items.AddChild(AParent, ACaption); Result.ImageIndex := Icon; Result.SelectedIndex := Icon; Result.Data := AData; end;
Загрузка иконок
function TfmMain.Icon(AFileName: string): Integer; var bmImage: TBitmap; begin Result := -1; bmImage := TBitmap.Create; try bmImage.LoadFromFile(AFileName); if (bmImage.Width <> imlIcons.Width) or (bmImage.Height <> imlIcons.Height) then raise Exception.Create('wrong size'); Result := imlIcons.Add(bmImage, nil); finally FreeAndNil(bmImage); end; end;
Чистка дерева и всех объектов
procedure TfmMain.FormDestroy(Sender: TObject); procedure DeletePtr(RootNode: TTreeNode); begin while RootNode.HasChildren do begin DeletePtr(RootNode.Item[0]); end; if RootNode.Data <> nil then begin TMom(RootNode.Data).Free; RootNode.Data := nil; end; tvwMain.Items.Delete(RootNode); end; begin tvwMain.Items.BeginUpdate; try while tvwMain.Items.Count > 0 do begin DeletePtr(tvwMain.TopItem); end; finally tvwMain.Items.EndUpdate; end; end;
works/programmer/delphi/delphi-tree-view.txt · Последнее изменение: 2022/09/15 15:21 — 127.0.0.1