(Gast)
n/a Beiträge
|
AW: Drag-and-Drop auf Frame-Komponente realisieren
10. Nov 2016, 15:26
Das DragAcceptFiles im Frame-Create kannst du weglassen. Das Form muss weiterhin das DropFiles übernehmen, kann aber die Message einfach an das Frame weiterreichen. Die Methode im Frame muss dann auch kein Message-Handler mehr sein.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles( Handle,True);
end;
procedure TForm1.WMDROPFILES( var Message: TWMDropFiles);
begin
MyFrame1.HandleDropFiles( Message);
end;
procedure TMyFrame.HandleDropFiles( var Message: TWMDropFiles);
const
MAXFILENAME = 255;
var
cnt, fileCount : integer;
fileName : array [0..MAXFILENAME] of char;
begin
// how many files dropped?
fileCount := DragQueryFile( Message.Drop, $FFFFFFFF, fileName, MAXFILENAME) ;
// query for file names
for cnt := 0 to -1 + fileCount do
begin
DragQueryFile( Message.Drop, cnt, fileName, MAXFILENAME) ;
//do something with the file(s)
memo1.Lines.Insert(0, fileName) ;
end;
//release memory
DragFinish( Message.Drop) ;
end;
Dankeschön
Hab das jetzt auch ziemlich genau so gelöst.
|
|
Zitat
|