Einzelnen Beitrag anzeigen

Freyr77
(Gast)

n/a Beiträge
 
#1

Drag-and-Drop auf Frame-Komponente realisieren

  Alt 10. Nov 2016, 12:36
Delphi-Version: 10 Seattle
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.
  Mit Zitat antworten Zitat