Wie kann ich Drag&Drop mit dem Explorer realisieren?
Folgendes Beispiel bereitet ein Formular darauf vor, mit Drag&Drop vom Explorer zu arbeiten:
uses ShellApi;
interface
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
protected
procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES;
private
public
end;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Form1.Handle, true)
end;
procedure TForm1.WMDROPFILES(var Msg: TMessage);
var i, anzahl, size: Integer;
Dateiname: PChar;
begin
inherited;
anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, Dateiname,255);
for i := 0 to (anzahl - 1) do begin
size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
Dateiname := StrAlloc(size);
DragQueryFile(Msg.WParam, i, Dateiname, size);
// tu was mit StrPas(Dateiname);
StrDispose(Dateiname)
end;
DragFinish(Msg.WParam)
end;
| Delphi 1 | Delphi 2 | Delphi 3 | Delphi 4 |
| nicht getestet | Version nicht betroffen | getestet |
siehe auch: