Wie können Sie eine Datei aus der Explorer-Shell in ein VirtualTreeView-Steuerelement in einer Delphi-Anwendung ziehen und dort ablegen?

In VirtualTreeView gibt es umfangreiche Drag & Drop-Unterstützung von Mike Lischke, und ich verwende TVirtualStringTree, das einige Drag & Drop-Ereignisse enthält, aber ich kann nicht herausfinden, wie es dazu gebracht wird, ein Shell-Drag & Drop zu akzeptieren. Ablegen einiger Dateien aus der Windows Explorer-Shell in meine Anwendung. Ich möchte die Dateien laden, wenn sie auf das Drop-Control gezogen werden.

Ich habe versucht, Drag & Drop-Code von Drittanbietern von Anders Melander zu verarbeiten. Da sich VirtualTreeView jedoch bereits als Drop-Ziel registriert, kann ich das nicht verwenden.

edit: Ich habe eine einfache Problemumgehung gefunden: Deaktivieren Sie in VT.TreeOptions.MiscOptions toAcceptOLEDrop. Es wäre cool, wenn jemand eine Möglichkeit kennen würde, VirtualTreeView zu verwenden, ohne eine OLE-Shell-Drag-Drop-Bibliothek eines Drittanbieters zu verwenden und die umfangreiche OLE-Drag / Drop-Unterstützung zu verwenden, um eine Liste von Dateinamen zu extrahieren, die aus der Shell gezogen wurden.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage