Ir al contenido


Foto

[RESUELTO] Problema con Drag & Drop con más de un archivo a Listbox


  • Por favor identifícate para responder
2 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 11 enero 2010 - 07:12

Pues esp amigos, tengo problemas con un drag & drop que estoy realizando (eso me pasa por dejar delphi un tiempo ^o| ) con más de un archivo, estoy intentado arrastrar archivos desde el explorador de windows a un listbox en Delphi, hasta ahí todo bien pero si arrasto tres archivo por ejemplo me repite tres veces un sólo archivo, aquí el code:



delphi
  1. procedure TForm1.ListaDrop(var Msg : TWMDROPFILES);
  2. var
  3.   Archivos, i : longInt;
  4.   buffer : array[0..MAX_PATH] of char;
  5. begin
  6.   Archivos := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, 0) ;
  7.   if Archivos < 1 then
  8.   begin
  9.     ShowMessage('You must drop 1 file minimun!') ;
  10.   end
  11.   else
  12.   begin
  13.     DragQueryFile(Msg.Drop, 0, @buffer, sizeof(buffer)) ;
  14.     try
  15.       for i := 0 to Archivos -1 do
  16.       ListBox1.Items.Add(buffer);
  17.     except
  18.       ShowMessage('Unsupported Music file!') ;
  19.     end;
  20.   end;
  21. end;



A ver si me echan una manita.

Saludos.
  • 0

#2 escafandra

escafandra

    Advanced Member

  • Moderadores
  • PipPipPip
  • 4.000 mensajes
  • LocationMadrid - España

Escrito 12 enero 2010 - 02:15

Trata así:




delphi
  1. procedure TForm1.ListaDrop(var Msg : TWMDROPFILES);
  2. var
  3.   Archivos, i : longInt;
  4.   buffer : array[0..MAX_PATH] of char;
  5. begin
  6.   Archivos := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, 0) ;
  7.   if Archivos < 1 then
  8.   begin
  9.     ShowMessage('You must drop 1 file minimun!') ;
  10.   end
  11.   else
  12.   begin
  13.     try
  14.       for i := 0 to Archivos -1 do
  15.       begin
  16.         DragQueryFile(Msg.Drop, i, @buffer, sizeof(buffer)) ;
  17.         ListBox1.Items.Add(buffer);
  18.       end;
  19.     except
  20.       ShowMessage('Unsupported Music file!') ;
  21.     end;
  22.   end;
  23. end;



Saludos.
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.409 mensajes
  • LocationRepública Dominicana

Escrito 12 enero 2010 - 05:24

Amigo, usted es un master me ha funcionado de perlas :D :D.

Saludos.
  • 0