Drag and drop StringGrid

Messages postés
174
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
7 août 2019
-
Bonjour,
Je fais un drag d' Explorer vers StringGrid tout ce passe bien, mais depuis un téléphone
StringGrid refuse le drag
ci-dessous le code que j'utilise.

procedure TFormBackUp.FormCreate(Sender: TObject);
begin
DragAcceptFiles(StringGrid1.Handle, True);
Application.OnMessage := TraiteMessage;
// c'est la procédure TraiteMessage qui va traiter les messages
end;

procedure TFormBackUp.TraiteMessage(var Msg: TMsg; var Handled: Boolean);
var
NombreDeFichiers, size, i: integer;
NomDuFichierStr: string;
NomDuFichier: array [0 .. 255] of char;
begin
if Msg.message = WM_DROPFILES then
begin
NombreDeFichiers := DragQueryFile(Msg.wParam, $FFFFFFFF, NomDuFichier,
SizeOf(NomDuFichier)); // récupération du nombre de fichiers
for i := 0 to NombreDeFichiers - 1 do
begin
size := DragQueryFile(Msg.wParam, i, NomDuFichier, SizeOf(NomDuFichier));
// récupération du nom du fichier
NomDuFichierStr := NomDuFichier;
// tansformation du tableau de char en STRING

StringGrid1.RowCount := StringGrid1.RowCount + 1;
StringGrid1.Cells[0, StringGrid1.RowCount - 1] :=
ExtractFileDrive(NomDuFichierStr);
StringGrid1.Cells[1, StringGrid1.RowCount - 1] :=
ExtractFilePath(NomDuFichierStr);
StringGrid1.Cells[2, StringGrid1.RowCount - 1] :=
ExtractFileName(NomDuFichierStr);
if not FileExists(NomDuFichierStr) then
StringGrid1.Cells[3, StringGrid1.RowCount - 1] :=
floattostrf(TailleDossier(NomDuFichierStr,'*.*',faAnyFile) div 1024, ffNumber, 7,0)+' kb'
else
StringGrid1.Cells[3, i] :=
floattostrf(TailleFichierr(NomDuFichierStr) div 1024, ffNumber, 7,0)+' kb';
end;
end;

Jusque là je n'ai pas trouvé ni sur le site ni avec google
connaissez vous une solution ???
merci.
Afficher la suite