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: