![]() |
Drag and Drop Anders Melander TreeList
Hallo zusammen,
ich habe hier eine TreeList mit einer Verzeichnisstruktur und ziehe Dateien aus dem Explorer mit folgendem Code hinein:
Code:
Das funktioniert einwandfrei nur möchte ich jetzt auch wie Dateien (Nodes) aus der Treelist in den Explorer zurück ziehen.
procedure TCSITEFORM.WMDROPFILES(var Msg: TMessage);
var DropH: HDROP; DroppedFileCount: Integer; FileNameLength: Integer; FileName: string; I: Integer; DropPoint: TPoint; AnItem : TcxTreeListNode; begin case Msg.Msg of WM_DROPFILES : begin DropH := Msg.WParam; try DragQueryPoint(DropH, DropPoint); AnItem := DOCTREELIST.GetNodeAt(DropPoint.X, DropPoint.Y) ; if AnItem <> nil then begin DroppedFileCount := DragQueryFile(DropH, $FFFFFFFF, nil, 0); for I := 0 to Pred(DroppedFileCount) do begin FileNameLength := DragQueryFile(DropH, I, nil, 0); SetLength(FileName, FileNameLength); DragQueryFile(DropH, I, PWideChar(FileName), FileNameLength + 1); CreateNodefromDrop(AnItem, String(PWideChar(FileName))); end; end; finally DragFinish(DropH); end; Msg.Result := 0; end; else OldLBWindowProc(Msg); end; end; Ich habe mir dazu die Komponente von Anders Melander angeschaut und versucht die "Source Demo" an zu passen. Hier wird einfach eine Datei aus einer Liste in den Explorer gezogen (kopiert). Ich habe eine FileDragSource aber ich bekomme das nicht so angepasst, denn ich benötige die Treelist sowohl als source als auch als target. Target mit dem Code oben um Dateien von außen hinein zu ziehen und in der Treelist zu "verschieben" und Source um Dateien in den Explorer zurück zu ziehen. Ich nutze die vorhandenen Events wie onDragDrop zum "verschieben" der Dateien in die Verzeichnisse innerhalb der TreeList. Die FileDropSource von anders Melander bringt das aber leider durcheinander und erlaubt das kopieren innerhalb der Treelist, was ich aber nicht möchte. Ich dachte mir jetzt ich könnte die FileDropSource von Anders Melander erst beim Verlassen der TreeList aktivieren aber sobald ich einen Node ziehe feuet onExit und onMouseLeave sofort. Geht also nicht. LG Mirko |
AW: Drag and Drop Anders Melander TreeList
Wäre es eventuell günstiger auf die "Standardevents" zu verzichten und nur die Komponenten von Anders Melander zu verwenden?
Wenn ja, wie kann ich dann die Dateien in "Untervezeichnissen" der TreeList verschieben? LG Mirko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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