Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Drag Drop-Datei zu bearbeitung durch reinziehen einzufüg

  Alt 18. Mär 2009, 15:32
Du musst das Formular für das Ereignis DropFiles vorbereiten:
Delphi-Quellcode:
uses ShellAPI;

// In der Formular Deklaration
  protected
    procedure WMDropFiles(var Message: TMessage); message WM_DropFiles;

// In TForm.FormCreate
    DragAcceptFiles(Handle, TRUE);

// In der eben definierten Procedure frägst Du die Dateien ab:
procedure TForm.WMDropFiles(var Message: TMessage);
var
  fBuffer : array[0..MAX_PATH] of Char;
  i, x : Integer;
  sl : TStringList;
begin
  // Buffer-Liste initialisieren und Anzahl Dateien ermitteln
  sl := TStringlist.Create;
  x := DragQueryFile(Message.WParam, $FFFFFFFF, NIL, 0);

  // Dateien in den Buffer einlesen und sortieren
  for i := 0 to x-1 do begin
    DragQueryFile(Message.WParam, i, @fBuffer, MAX_PATH);
    sl.Add(fBuffer);
  end;
  sl.Sort;

  // Sortierte Dateiliste abarbeiten
  for i := 0 to sl.Count-1 do begin

    {<--- hier code einfügen ---}

  end;

  // Bufferliste freigeben
  sl.Free;
end;
  Mit Zitat antworten Zitat