Einzelnen Beitrag anzeigen

hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#1

Datei per Drag&Drop auf einen ListBoxEintrag schieben

  Alt 12. Mär 2008, 16:52
Ich möchte gerne eine Datei aus dem Windows-Explorer auf einen ListBoxEintrag verschieben. Dazu habe ich bereits folgendes gemacht:
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?
  Mit Zitat antworten Zitat