Einzelnen Beitrag anzeigen

EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#1

Drag & Drop vom Explorer in ListView

  Alt 21. Mai 2007, 21:57
N'abend

Ich nutze folgenden Code um ein Drag & Drop vom Explorer in ein ListView zu realisieren. Leider funktioniert es nicht.
Ich kann zwar in das ListView reindraggen aber beim loslassen der Maus zeigt er das MessageFenster nicht an. Was ist falsch?

Delphi-Quellcode:
uses shellapi;

private
  procedure WMDROPFILES(var Msg: TMessage); Message WM_DROPFILES;


procedure TForm1.WMDROPFILES(var Msg: TMessage);
var
i, Counts, Size: Integer;
PCharFileName: PChar;

begin
inherited;
PCharFileName:=nil;
Counts:=DragQueryFile(Msg.WParam, $FFFFFFFF, PCharFileName, 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);
   showmessage(String(PCharFileName));
   StrDispose(PCharFileName);
  end;
DragFinish(Msg.WParam);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(ListView1.Handle, True);
end;
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat