Glisser-déposer depuis l'explorateur


Cet article explique comment faire pour accepter les fichiers supprimés à partir de l'extérieur de votre application Delphi.
unit Unit1
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp procedure FormCreate(Sender: TObject)
& ! & ! & ! & nbsp procédure FormDestroy(Sender: TObject)
& nbsp & nbsp privé
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp protégé
& ! & ! & ! & nbsp procédure WMDropFiles(var Msg: TWMDropFiles) message WM_DROPFILES
& nbsp & nbsp public
& ! & ! & ! & nbsp { déclarations Publiques }
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
{$R *.DFM}
utilise ShellAPI
procedure TForm1.FormCreate(Sender: TObject)
begin
& nbsp & nbsp { Cet appel à DragAcceptFiles indique à Windows que nous voulons savoir quand les fichiers
& ! & ! & ! & nbsp êtes tombé sur notre formulaire à partir de l'Explorateur ou du Gestionnaire de Fichiers. }
& nbsp & nbsp DragAcceptFiles(Poignée, TRUE)
fin
procedure TForm1.FormDestroy(Sender: TObject)
begin
& nbsp & nbsp { Informer Windows que nous ne voulons plus de chute de messages de notification. }
& nbsp & nbsp DragAcceptFiles(Poignée, FALSE)
fin
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles)

var
& nbsp & nbsp I: integer
& nbsp & nbsp S: string
begin
& nbsp & nbsp avec le Msg ne
& nbsp & nbsp commencer
& ! & ! & ! & nbsp { Appelant DragQueryFile avec le numéro du dossier -1 ($FFFFFFFF) sera de retour
& ! & ! & ! & ! & ! & nbsp le nombre de fichiers qui ont été larguées sur le formulaire. }
& ! & ! & ! & nbsp for I := 0 to DragQueryFile(Drop, -1, nil, 0) - 1 do
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp { Ici nous appelons DragQueryFile pour chaque fichier a chuté de spécifier un tampon
& ! & ! & ! & ! & ! & ! & ! & nbsp longueur de zéro le déterminer le nombre de caractères nécessaires pour le
& ! & ! & ! & ! & ! & ! & ! & nbsp nom de fichier, et puis utiliser SetLength pour allouer de l'espace normal.
& ! & ! & ! & ! & ! & ! & ! & nbsp Note que nous devons en ajouter un à la valeur retournée par DragQueryFile
& ! & ! & ! & ! & ! & ! & ! & nbsp laisser de la place pour les nuls-terminator. }
& ! & ! & ! & ! & ! & nbsp SetLength(S, DragQueryFile(Goutte, j', nil, 0) 1)
& ! & ! & ! & ! & ! & nbsp { Obtenir le nom de fichier complet dans S. Tout traitement qui doit être fait
& ! & ! & ! & ! & ! & ! & ! & nbsp pour chaque fichier peut être fait après cet appel. }
& ! & ! & ! & ! & ! & nbsp DragQueryFile(Goutte, j', PChar(S), Longueur(S))
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp { DragFinish terminer l'opération, et libère les ressources associées. }
& ! & ! & ! & nbsp DragFinish(Drop)
& nbsp & nbsp fin
fin
à la fin.









Glisser-deposer depuis l'explorateur


Glisser-deposer depuis l'explorateur : Plusieurs milliers de conseils pour vous faciliter la vie.


Cet article explique comment faire pour accepter les fichiers supprimes a partir de l'exterieur de votre application Delphi.
unit Unit1
interface

& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp procedure FormCreate(Sender: TObject)
& ! & ! & ! & nbsp procedure FormDestroy(Sender: TObject)
& nbsp & nbsp prive
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp protege
& ! & ! & ! & nbsp procedure WMDropFiles(var Msg: TWMDropFiles) message WM_DROPFILES
& nbsp & nbsp public
& ! & ! & ! & nbsp { declarations Publiques }
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
{$R *.DFM}
utilise ShellAPI
procedure TForm1.FormCreate(Sender: TObject)
begin
& nbsp & nbsp { Cet appel a DragAcceptFiles indique a Windows que nous voulons savoir quand les fichiers
& ! & ! & ! & nbsp etes tombe sur notre formulaire a partir de l'Explorateur ou du Gestionnaire de Fichiers. }
& nbsp & nbsp DragAcceptFiles(Poignee, TRUE)
fin
procedure TForm1.FormDestroy(Sender: TObject)
begin
& nbsp & nbsp { Informer Windows que nous ne voulons plus de chute de messages de notification. }
& nbsp & nbsp DragAcceptFiles(Poignee, FALSE)
fin
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles)

var
& nbsp & nbsp I: integer
& nbsp & nbsp S: string
begin
& nbsp & nbsp avec le Msg ne
& nbsp & nbsp commencer
& ! & ! & ! & nbsp { Appelant DragQueryFile avec le numero du dossier -1 ($FFFFFFFF) sera de retour
& ! & ! & ! & ! & ! & nbsp le nombre de fichiers qui ont ete larguees sur le formulaire. }
& ! & ! & ! & nbsp for I := 0 to DragQueryFile(Drop, -1, nil, 0) - 1 do
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp { Ici nous appelons DragQueryFile pour chaque fichier a chute de specifier un tampon
& ! & ! & ! & ! & ! & ! & ! & nbsp longueur de zero le determiner le nombre de caracteres necessaires pour le
& ! & ! & ! & ! & ! & ! & ! & nbsp nom de fichier, et puis utiliser SetLength pour allouer de l'espace normal.
& ! & ! & ! & ! & ! & ! & ! & nbsp Note que nous devons en ajouter un a la valeur retournee par DragQueryFile
& ! & ! & ! & ! & ! & ! & ! & nbsp laisser de la place pour les nuls-terminator. }
& ! & ! & ! & ! & ! & nbsp SetLength(S, DragQueryFile(Goutte, j', nil, 0) 1)
& ! & ! & ! & ! & ! & nbsp { Obtenir le nom de fichier complet dans S. Tout traitement qui doit etre fait
& ! & ! & ! & ! & ! & ! & ! & nbsp pour chaque fichier peut etre fait apres cet appel. }
& ! & ! & ! & ! & ! & nbsp DragQueryFile(Goutte, j', PChar(S), Longueur(S))
& ! & ! & ! & nbsp fin
& ! & ! & ! & nbsp { DragFinish terminer l'operation, et libere les ressources associees. }
& ! & ! & ! & nbsp DragFinish(Drop)
& nbsp & nbsp fin
fin
a la fin.


Glisser-déposer depuis l'explorateur

Glisser-déposer depuis l'explorateur : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation