Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei per Drag&Drop auf einen ListBoxEintrag schieben (https://www.delphipraxis.net/110075-datei-per-drag-drop-auf-einen-listboxeintrag-schieben.html)

hugo1990 12. Mär 2008 15:52


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:
DragAcceptFiles(ListBox.Handle, True);
und
Delphi-Quellcode:
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;
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?

toms 15. Mär 2008 18:06

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 05:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz