title image


Smiley Re: Drag n Drop aus anderen Anwendungen?
Hallo Mathias,die OnDrag.. Ereignisse raeagieren wohl nur Delphi intern.Fuers uebergreifende FileDragging musst Du auf Windows-API's zurueckgreifen.uses ....,Windows, Messages, ShellAPI;fuege folgende Proc ein (ins MainForm oder nur in das Element was reagieren soll, im Bsp. ist sie im Mainform und ich hab noch ne ListBox1) procedure WMDropFiles(var Msg:TWMDropFiles);Message wm_dropfiles;Implementation{ hier noch die Ereignis-structur TWMDropFiles = record Msg: Cardinal; Drop: THANDLE; Unused: Longint; Result: Longint; end;}procedure TForm1.FormCreate(Sender: TObject);begin DragAcceptFiles(self.handle, true); {damit sagst Du Win Das die App das unterstuetzt}end;procedure TForm1.WMDropFiles(var Msg:TWMDropFiles);var koord:TPoint; i,filecount:word; buff:array[0..99] of char;begin if Msg.Msg wm_DropFiles then exit; {should never be} ListBox1.Items.clear; DragQueryPoint(Msg.Drop, koord); {koords when drop only if you need them} Filecount:= DragQueryFile(Msg.Drop, $FFFFFFFF, Nil, 0); {how many files} if FileCount>0 then for i:= 0 to FileCount-1 do begin DragQueryFile(Msg.Drop, i, @buff, sizeof(buff)); {@buff ist jetz PChar des jew. Filenamens mach was du willst damit z.B.} ListBox1.Items.add(string(buff)); end; DragFinish(Msg.Drop); {wm_dropfile res. freigeben}end;procedure TForm1.FormDestroy(Sender: TObject);begin DragAcceptFiles(self.handle, false);end;Gutes GelingenCO

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: