Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#9

AW: erkennen ob Verzeichnis oder Datei bei dragover

  Alt 15. Nov 2015, 20:09
Hallo,

ich stand mal vor einem ähnlichen Problem
Ich wollte/musste rausfinden, ob via Drag&Drop eine Datei oder ein Pfad in ein Edit gezogen wird.

Hab dann das hier gefunden.

Hab´s dann für mich so geändert:
Delphi-Quellcode:
procedure TMainForm.ApplicationEventsMessage(var Msg: tagMSG;
  var Handled: Boolean);
const
  BufferLaenge = 255;

var
  i: Integer;
  Anzahl_Dateien: Integer;

  Dropped_Dateiname: array[0..BufferLaenge] of Char;

begin
//www.delphipraxis.net/1005177-post2.html

  If Msg.message = WM_DROPFILES then
    begin
      Anzahl_Dateien := DragQueryFile(Msg.wParam, Cardinal(-1), nil, 0);

      try
        for i := 0 to Pred(Anzahl_Dateien) do
          begin
            DragQueryFile(Msg.wParam, i, @Dropped_Dateiname, BufferLaenge);

            If Msg.hwnd = LabeledButtonEdit_NCUpgrade.Handle then
              begin

                If FileType(PChar(@Dropped_Dateiname)) = FT_File then
                  LabeledButtonEdit_NCUpgrade.Text := PChar(@Dropped_Dateiname);
              end;

            If Msg.hwnd = LabeledButtonEdit_Ablagepfad.Handle then
              begin
                If FileType(PChar(@Dropped_Dateiname)) = FT_Directory then
                  LabeledButtonEdit_Ablagepfad.Text := PChar(@Dropped_Dateiname);
              end;
          end;
      finally
        DragFinish(Msg.wParam);
        Handled := true;
      end;
    end;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat