![]() |
Datei per Drag&Drop auf einen ListBoxEintrag schieben
Ich möchte gerne eine Datei aus dem Windows-Explorer auf einen ListBoxEintrag verschieben. Dazu habe ich bereits folgendes gemacht:
Delphi-Quellcode:
und
DragAcceptFiles(ListBox.Handle, True);
Delphi-Quellcode:
Jetzt habe ich nur das Problem, dass wenn ich mit der Maus über der ListBox bin und die Dateien dabei habe reagiert kein Eregnis der ListBox wie z.B. MouseOver, womit ich den Eintrag über dem sich die Maus befindet markiere. Wie kann ich den ListBoxEintrag über dem sich die Maus während des Drag&Dropens befindet markieren. Und dann würde ich gerne wissen, ob ich das Drag&Drop bereits abbrechen, wenn mehr als eine Datei verschoben wird?
procedure TMainForm.WMDROPFILES(var Msg: TMessage);
var Size: integer; Filename: PChar; begin inherited; if DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, 255) = 1 then begin Size := DragQueryFile(Msg.WParam, 0 , nil, 0) + 1; Filename:= StrAlloc(Size); DragQueryFile(Msg.WParam, 0, Filename, Size); //Hier passiert dann etwas mit der Datei StrDispose(Filename); end; DragFinish(Msg.WParam); end; |
Re: Datei per Drag&Drop auf einen ListBoxEintrag schiebe
Hallo, vielleicht kannst du eine WM_MOUSEMOVE Nachricht abfangen und die Mausposition bestimmen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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