Hi Redeemer
Delphi-Quellcode:
procedure TOpenFileFrame.AddNewNode(ParentNode: TTreeNode; const aCaption,
aRealName: string; aIsdirectory: Boolean);
var Node: TTreeNode; NameRec: PNameRec;
Lextension: String;
begin
Node := TVFilesExplorer.Items.AddChild(ParentNode, aCaption);
if aIsdirectory then
begin
Node.ImageIndex := 1;
Node.SelectedIndex := 1;
(* Dummy-Knoten anlegen *) // 'alle Dateien', '.pdf', '.Docx', '.bmp', '.nef', '.jpg', '.png
TVFilesExplorer.Items.AddChild(Node, 'dummy');
end
else
begin
Node.ImageIndex := 2;
Node.SelectedIndex := 2;
FPathlist.Add(aRealName);
Lextension := ExtractFileExt(aRealName); // Hier wird die Übereinstimmung mit dem aktuellen
Node.Enabled := False; // Datefilter (Dateiendung) festgestellt. Wenn nein,
if (FFileType = Lextension) then // ist der eingefügte Node nicht Enabled
Node.Enabled := true;
if (FFileType = 'alle Dateien') then
Node.Enabled := true;
end;
FReportlist.Add('procedure TOpenFileFrame.AddNewNode');
FReportlist.Add('Node.Text := ' + Node.Text);
New(NameRec);
NameRec^.RealName := aRealName;
NameRec^.Caption := aCaption;
NameRec^.IsDirectory := aIsdirectory;
Node.Data := NameRec;
end;
Mit dieser Methode werden die von der TFilesearcher-Komponente gefundenen Ordner und Dateien dem Treeview hinzugefügt. Und danach beabsichtige ich, mich zu orientieren.
Ich hab mir auch schon überlegt, in meiner eigenen Methode lediglich das neue Verzeichnis zuu erstellen uund danach eine neue Suche anzustossen.
Etwas müsste ich mir allerdings hier einfallen lassen, da bestimmte Verzeichnisse spezielle Icons erhalten sollen - aktuell soll ein Verzeichnis für SQLite-DBs mit eigenem Icon erstellt werden. Ausserdem sollen Verzeichnisse dieser Art jeweils an erster Stelle unter dem entsprechenden Parent angezeigt werden, wofür sich ja 'AddChildFirst' anbietet. Ob das dann auch so bleibt, wenn Knoten mal erstellt ist, weiss ich nicht.
Gruss
Delbor