Drag & drop aus dem explorer
Dieser Artikel beschreibt, wie man Dateien akzeptieren sank von außerhalb Ihrer Delphi-Anwendung.
Einheit Unit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, Formulare, Dialoge,
StdCtrls;
Typ
TForm1 = class(TForm)
Prozedur FormCreate(Sender: TObject);
Prozedur FormDestroy(Sender: TObject);
Private
{Private Deklarationen}
geschützt
Procedure WMDropFiles (Var Msg: TWMDropFiles); Nachricht WM_DROPFILES;
öffentliche
{Public Deklarationen}
Ende;
var
Form1: TForm1;
Umsetzung
{$R *. DFM}
ShellAPI verwendet;
Prozedur TForm1.FormCreate(Sender: TObject);
beginnen
{Dieser Aufruf DragAcceptFiles sagt, dass Dateien von Windows, die wir wissen, wann Sie wollen
werden auf unsere Form aus dem Explorer oder Datei-Manager gelöscht. }
DragAcceptFiles (Handle, wahr);
Ende;
Prozedur TForm1.FormDestroy(Sender: TObject);
beginnen
{Mitteilen Sie Windows, dass wir nicht mehr wollen Benachrichtigungen löschen.}
DragAcceptFiles (Handle, FALSE);
Ende;
Procedure TForm1.WMDropFiles (Var Msg: TWMDropFiles);
var
I: Ganzzahl;
S: String;
beginnen
mit Msg do
beginnen
{Aufruf von DragQueryFile mit dem Dateinamen wie-1 ($FFFFFFFF) zurückgegeben wird
die Anzahl der Dateien, die auf dem Formular gelöscht wurden. }
für I: = 0, DragQueryFile (Tropfen, 1, nil, 0)-1 tun
beginnen
{Hier nennen wir DragQueryFile für jede Datei gelöscht, die Angabe eines Puffers
Länge 0 (null) die bestimmen die Anzahl der Zeichen benötigt für die
Filename und dann mit SetLength die richtige Menge an Speicherplatz zu reservieren.
Beachten Sie, dass wir von DragQueryFile auf zurückgegebene Wert hinzufügen muss
lassen Sie Platz für den Null-Terminator. }
SetLength (S, DragQueryFile (Tropfen, ich, nil, 0) + 1);
{Get der vollständige Dateiname in S. Verarbeitungen, die getan werden muss
für jede Datei kann nach diesem Aufruf erfolgen. }
DragQueryFile (Tropfen, ich, PChar (S), Length(S));
Ende;
{DragFinish schließt den Vorgang und die zugeordneten Ressourcen freigegeben werden.}
DragFinish(Drop);
Ende;
Ende;
Ende.
Drag & drop aus dem explorer
Drag & drop aus dem explorer : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Dieser Artikel beschreibt, wie man Dateien akzeptieren sank von außerhalb Ihrer Delphi-Anwendung.
Einheit Unit1;
Schnittstelle
verwendet
Windows, Nachrichten, SysUtils, Klassen, Graphics, Steuerelemente, Formulare, Dialoge,
StdCtrls;
Typ
TForm1 = class(TForm)
Prozedur FormCreate(Sender: TObject);
Prozedur FormDestroy(Sender: TObject);
Private
{Private Deklarationen}
geschützt
Procedure WMDropFiles (Var Msg: TWMDropFiles); Nachricht WM_DROPFILES;
öffentliche
{Public Deklarationen}
Ende;
var
Form1: TForm1;
Umsetzung
{$R *. DFM}
ShellAPI verwendet;
Prozedur TForm1.FormCreate(Sender: TObject);
beginnen
{Dieser Aufruf DragAcceptFiles sagt, dass Dateien von Windows, die wir wissen, wann Sie wollen
werden auf unsere Form aus dem Explorer oder Datei-Manager gelöscht. }
DragAcceptFiles (Handle, wahr);
Ende;
Prozedur TForm1.FormDestroy(Sender: TObject);
beginnen
{Mitteilen Sie Windows, dass wir nicht mehr wollen Benachrichtigungen löschen.}
DragAcceptFiles (Handle, FALSE);
Ende;
Procedure TForm1.WMDropFiles (Var Msg: TWMDropFiles);
var
I: Ganzzahl;
S: String;
beginnen
mit Msg do
beginnen
{Aufruf von DragQueryFile mit dem Dateinamen wie-1 ($FFFFFFFF) zurückgegeben wird
die Anzahl der Dateien, die auf dem Formular gelöscht wurden. }
für I: = 0, DragQueryFile (Tropfen, 1, nil, 0)-1 tun
beginnen
{Hier nennen wir DragQueryFile für jede Datei gelöscht, die Angabe eines Puffers
Länge 0 (null) die bestimmen die Anzahl der Zeichen benötigt für die
Filename und dann mit SetLength die richtige Menge an Speicherplatz zu reservieren.
Beachten Sie, dass wir von DragQueryFile auf zurückgegebene Wert hinzufügen muss
lassen Sie Platz für den Null-Terminator. }
SetLength (S, DragQueryFile (Tropfen, ich, nil, 0) + 1);
{Get der vollständige Dateiname in S. Verarbeitungen, die getan werden muss
für jede Datei kann nach diesem Aufruf erfolgen. }
DragQueryFile (Tropfen, ich, PChar (S), Length(S));
Ende;
{DragFinish schließt den Vorgang und die zugeordneten Ressourcen freigegeben werden.}
DragFinish(Drop);
Ende;
Ende;
Ende.
Drag & drop aus dem explorer
By Wiezutun
Drag & drop aus dem explorer : Mehreren tausend Tipps, um Ihr Leben einfacher machen.