![]() |
Datei auf Image ziehen und dann in Listbox einfügen
Hi ich hab da ein meiner Meinung nach etwas kompliziertes Problem.
Ich möchte eine Datei auf ein TImage ziehen. Der Dateiname der gedropten Datei soll dann in einem Listview ausgegeben werden. Wie mach ich das, ich hab schon im Forum unter drag an Drop gesucht abe rnichts gefunden :/ |
Re: Datei auf Image ziehen und dann in Listbox einfügen
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,ShellAPI, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; ListBox1: TListBox; procedure FormCreate(Sender: TObject); private procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { TForm1 } procedure TForm1.WMDropFiles(var Message: TWMDropFiles); var Count: Integer; I: Integer; Buffer: array[0..MAX_PATH] of Char; begin DragQueryFile(Message.Drop, 0, @Buffer, SizeOf(Buffer)); Edit1.Text := Buffer; ListBox1.Clear; Count := DragQueryFile(Message.Drop, UINT(-1), nil, 0); for I := 0 to Count - 1 do begin DragQueryFile(Message.Drop, I, @Buffer, SizeOf(Buffer)); ListBox1.Items.Add(Buffer); end; end; procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Self.Handle, True); end; |
Re: Datei auf Image ziehen und dann in Listbox einfügen
Hi vielen vielen Dank, nur ein Problem gibt es bei der Methode, wenn ich den Formstyle der Form auf der das Image liegt auf fsstayontop setze, dann kann man keine Dateien mehr darauf ziehen. Weißt du dafür eventuell auch noch ne Lösung? Wäre klasse :)
|
Re: Datei auf Image ziehen und dann in Listbox einfügen
wenn der FormStyle auf fsStayOnTop ist wird das Form Recreated (neues Handle angefordert). Du musst also sicherstellen das der FormStyle gesetzt wird bevor du DragAcceptFiles aufrufst. Eine Möglichkeit wäre das du es nicht per OI machst sondern auch im Create und da direkt vor der DragAcceptFiles-Anweisung
|
Re: Datei auf Image ziehen und dann in Listbox einfügen
Oh Gott, danke, wusste nicht, dass es ein neues Handle bekommt!!
|
Re: Datei auf Image ziehen und dann in Listbox einfügen
|
Re: Datei auf Image ziehen und dann in Listbox einfügen
Na hätte ich das gewusst hätte ich natürlich deine Komponente benutzt :mrgreen:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 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-2025 by Thomas Breitkreuz