(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Dateien vom Explorer per Drag&Drop in eine ListBox einfü
8. Sep 2007, 22:07
Immer wieder wird gefragt, wie man Dateien vom Explorer per Drag&Drop in eine Delphianwendung bekommt. Wie dies für eine Listbox aussieht, zeigt Mazel in diesem Thema:
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);
ListBox1.Items.Add(String(PCharFileName));
StrDispose(PCharFileName);
end;
DragFinish(Msg.WParam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(ListBox1.Handle, True);
end;
|
|
Zitat
|