![]() |
Re: Drag&Drop einer Datei in TreeView
OnDragOver und Co. ist nur für Drag&Drop innerhalb einer Delphi-Anwendung zuständig.
Das Drag&Drop vom Explorer läuft über einen anderen Mechianismus. Zitat:
PS: Du kannst auch eine Eigenart der VCL ausnutzen, die TreeView wärend des Compilierens ersetzen und so dort deine Message doch noch "reinschmugggeln", ohne extern erstmal eine Ableitung der Klasse zu erstellen.
Delphi-Quellcode:
type
TTreeView = class(ComCtrls.TTreeView) procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES; end; TMainForm = class(TForm) TreeView1 : TTreeView; ..... end; procedure TTreeView.WMDROPFILES(var Msg: TMessage); var i, Counts, Size: Integer; PCharFileName: PChar; begin Counts := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 255); for i := 0 to Counts - 1 do begin Size := DragQueryFile(Msg.WParam, i, nil, 0) + 1; PCharFileName := StrAlloc(Size); DragQueryFile(Msg.WParam, i, PCharFileName, Size); ... StrDispose(PCharFileName); end; DragFinish(Msg.WParam); end; procedure TMainForm.FormCreate(Sender: TObject); begin DragAcceptFiles(TreeView1.Handle, True); end; |
Re: Drag&Drop einer Datei in TreeView
[edit]
*kann gelöscht werden* |
Re: Drag&Drop einer Datei in TreeView
Zitat:
Zitat:
|
Re: Drag&Drop einer Datei in TreeView
Zitat:
WM_DROPFILES ist eine der Windows-Messages für das D&D seitens Windows, welches über ![]() Wie dieses andere D&D-ähnliche Verhalten (OnDragOver und Co.) innerhalb von Delphi abläuft, das weiß ich nicht, es geht aber nicht über die "Schnittstellen" von Windows. Soweit ich erkennen kann, werden dort delphieigene Nachrichten direkt zwischen VCL-Controls verschickt. |
Re: Drag&Drop einer Datei in TreeView
Jetzt habe ich noch eine Frage dazu:
Wie sieht es eigentlich mit Drag&Drop von TreeView -> Explorer aus? Da ändert sich bei mir der Cursor nicht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 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