Thema: Delphi Drag&Drop

Einzelnen Beitrag anzeigen

Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#18
  Alt 21. Feb 2003, 00:27
Hallo Nailor,

vielleicht hilft Dir das weiter:

Code:
procedure TFTest.WMDROPFILE(var msg: TMessage);
var
  hDrop : Cardinal ;
  fName : array[0..MAX_PATH] of Char ;
  fnnew, fnold : string;
  i : integer;
begin
   hDrop := Msg.WParam ;
   fName := '' ;

   i := 0;
   fnold := '';
   DragQueryFile(hDrop, i, fName, MAX_PATH);
   fnnew := string(fName);
   while fnnew <> fnold do begin
     fnold := fnnew;
     Memo2.Lines.LoadFromFile(String(fName));
     Memo2.SelectAll;
     Memo2.CopyToClipboard;
     Memo1.SelStart := Memo1.GetTextLen;
     Memo1.Lines.Add('');
     Memo1.Lines.Add('');
     Memo1.Lines.Add('');
     Memo1.Lines.Add(fnnew);
     Memo1.Lines.Add('');
     Memo1.PasteFromClipboard;

//     RichEdit1.Lines.LoadFromFile(String(fName));
     inc(i);
     DragQueryFile(hDrop, i, fName, MAX_PATH);
     fnnew := string(fName);
   end;
   DragFinish (hDrop);
end;


procedure TFTest.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Handle,True);
end;
Im Explorer angeklickte Dateien (eine oder mehrere) werden ins Memo der eigenen Anwendung gezogen. Nach loslassen der Maustaste werden diese im Memo eingetragen.

Das Löschen des Memo's sowie die Auswertung, ob die ins Memo gezogene Datei auch lesbarer Text ist, sind hier noch nicht enthalten.

Die Variante, aus TabSheet's Text ins Memo zu transferieren ist noch einfacher:
- Text markieren
- Text in den Zwischenspeicher
- Text in Memo aus Zwischenspreicher

mfg
eddy
  Mit Zitat antworten Zitat