Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#2

AW: .txt Datei in ein TMemo ziehen (drap&drop)

  Alt 14. Aug 2013, 02:12
Hallo,

Du kannst es mal so versuchen:
Delphi-Quellcode:
uses
  ShellApi;

procedure TForm1.WMDropFiles (var Msg : TMessage);
var
  s, w : Integer;
  q : PChar;
  p : TPoint;
begin
  w := Msg.WParam;
  try
    DragQueryPoint (w, p);
    if not PtInRect (Memo1.ClientRect, Memo1.ScreenToClient (ClientToScreen (p))) then
      Exit;

    if DragQueryFile (w, $FFFFFFFF, nil, 0) <> 1 then
      begin
        // Deine Fehlerbehandlung, wenn mehr als eine Datei gedroppt wird
        Exit
      end;

    s := DragQueryFile (w, 0, nil, 0) + 1;
    try
      q := StrAlloc (s)
    except
      // Deine Fehlerbehandlung, wenn kein Speicher alloziert werden konnte
      Exit
    end;

    DragQueryFile (w, 0, q, s);
    Memo1.Lines.LoadFromFile (q);
    StrDispose (q)
  finally
    DragFinish (w)
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DragAcceptFiles (Handle, True) // Handle des Forms!
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  DragAcceptFiles (Handle, False)
end;
Gruß
Volker Zeller

Geändert von Volker Z. (14. Aug 2013 um 02:19 Uhr)
  Mit Zitat antworten Zitat