Hi.
Ich brauche in einem meiner Frames eine Drag-And-Drop Lösung, die mir ausschließlich den Pfad der "gedropten" Anwendung ausspuckt, damit ich diese anschließend im Grid verarbeiten lassen kann.
Leider funktioniert das einfach nicht. Auf einer normalen "Form" klappt das wunderbar, auf dem Frame wird mir immer das Verbotszeichen angezeigt wenn ich den Drop versuche.
Der Code der auf der Form funktioniert hat steht jetzt im Frame:
Delphi-Quellcode:
constructor TFrame1.Create(AOwner: TComponent);
begin
inherited;
DragAcceptFiles(
Handle,True);
end;
procedure TFrame1.WMDROPFILES(
var msg: TWMDropFiles);
const
MAXFILENAME = 255;
var
cnt, fileCount : integer;
fileName :
array [0..MAXFILENAME]
of char;
begin
// how many files dropped?
fileCount := DragQueryFile(msg.Drop, $FFFFFFFF, fileName, MAXFILENAME) ;
// query for file names
for cnt := 0
to -1 + fileCount
do
begin
DragQueryFile(msg.Drop, cnt, fileName, MAXFILENAME) ;
//do something with the file(s)
memo1.Lines.Insert(0, fileName) ;
end;
//release memory
DragFinish(msg.Drop) ;
end;
... funktioniert aber nicht.
Jemand eine Ahnung? Google hat mir bisher auch nicht wirklich geholfen.