![]() |
Dateien per Drag-and-Drop in ListBox einfügen
mazel stellt
![]() Möchte man nur Dateien hinzufügen, muss dies explizit durch Überprüfung sichergestellt werden. Siehe dazu weiter unten.
Delphi-Quellcode:
uses ..., ShellAPI;
Delphi-Quellcode:
Zum Ausprobieren des obigen Codes benötigt man natürlich noch eine Listbox auf dem Formular mit Namen ListBox1.
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; Möchte man verhindern, dass Ordner auch hinzugefügt werden können, so darf man nicht einfach hinzufügen, sondern man muss das Hinzufügen mittels folgender Überprüfung einschränken.
Delphi-Quellcode:
if (FileGetAttr(String(PCharFileName)) <> faDirectory) then ListBox1.Items.Add(String(PCharFileName));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz