|
Tout d'abord c'est
quoi comme Animal un DragDrop:
Il à une aile plus courte
que l'autre, Un nez de cochon, il est bleu, il à une seule patte
(c'est pour ça qu'il est bleu car il n'arrête pas de tomber).
Et il vit dans les contrées sauvages de votre imagination. LOL!
c'était une blague.
Le DragDrog c'est quand vous
glissez un fichier dans un Form ou un composant du form,
ce qui engendre une action.
Les Composants aussi peuvent être 'draggé'.
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
* D'abord il faut déclarer
Shellapi et Messages
dans USES.
* Puis créer une
Procédure pour traiter l'action que fera votre DragDrop, et mettre
l'événement Message:
|
private
procedure FileIsDropped(var
Msg: TMessage);
message WM_DropFiles;
//
C'est le message DragDrop
{ Private déclarations }
public
{ Public déclarations }
end;
|
* Dans FormCreate Designer
l'endroit ou le DragDrop sera fait :
| DragAcceptFiles(ListBox1.Handle,
true); //
ici on désigne la List |
* Puis on met le code de
la Procédure que nous avons créer :
|
procedure
TForm1.FileIsDropped(var
Msg: TMessage);
var
Drop:
THandle; //
Variable qui accueilleras le Handle Du Drop
FileName:
array[0..254]
of Char; // Ici on mettra le chemin
du fichier 'Droppé'
begin
Drop:=
Msg.WParam;
// Drop contient le Handle du drop
DragQueryFile(Drop,
0, FileName ,254);
// On traite le Drop (Handle, Numero
du Drop,fichier,Buffer)
ListBox1.Items.Add(FileName); //
On ajoute le chemin du fichier dans la List
Beep;
DragFinish(Drop);
// Finir le DragDrop
end;
|
PS
: Si vous voulez traitez plusieurs fichiers dans un Drop, mettez un
variable
et une boucle pour le 0 de DragQueryFile.
Télécharger
l'exemple
Haut
de page
|