Thema: Delphi Drag / Drop Tutorial

Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#23

Re: Drag / Drop Tutorial

  Alt 3. Jan 2008, 10:02
...Update

ich hoffe....habe fertig.

Delphi-Quellcode:
procedure TJvFileListBox.DropFiles(var Msg: TMessage);
var
  i, Anzahl, Size: integer;
  SourcePfad: PChar;
  Dateiname: String;
  Pfad: String;
  ListeDateien: TStringList;
begin
  ListeDateien:= TStringList.Create;
  try
    Anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, SourcePfad, 255);
    SetForegroundWindow(FAnlagenkomponenten.Handle);
    for i := 0 to (Anzahl - 1) do
      begin
        Size := DragQueryFile(Msg.WParam, i , nil, 0) + 1;
        SourcePfad:= StrAlloc(Size);
        DragQueryFile(Msg.WParam,i , SourcePfad, Size);
        Pfad:= ExtractFilePath(StrPas(SourcePfad));
        Dateiname:= Copy(StrPas(SourcePfad),Length(Pfad)+1,Length(StrPas(SourcePfad))- Length(Pfad));
        ListeDateien.Add(Dateiname);
        StrDispose(SourcePfad);
      end;
    DragFinish(Msg.WParam);
    if BestatigungK then
      begin
        if MessageDlg('Kopieren von ' + IntToStr(Anzahl) + ' Dateien nach ' + FAnlagenkomponenten.DocVerzeichnis.Text + ' ?',
              mtConfirmation, [mbYes, mbNo], 0) = mrNo then
          begin
            exit;
          end;
      end;
    for i := 0 to ListeDateien.Count -1 do
      begin
        Dateiname:= ListeDateien.Strings[i];
        CopyFile(PChar(Pfad + Dateiname),PChar(FAnlagenkomponenten.DocVerzeichnis.Text + '\'+ Dateiname),false);
      end;
    FAnlagenkomponenten.JvFileListBox1.Update;
  finally
    ListeDateien.Free;
  end;
end;
...is ok oder geht noch besser ?
  Mit Zitat antworten Zitat