Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2024
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Antes de usar DragAcceptFiles y DragQueryFile deberías deshabilitar el filtro para los mensajes WM_DROPFILES y WM_COPYGLOBALDATA con la API ChangeWindowMessageFilterEx.


Saludos.
Responder Con Cita
  #2  
Antiguo 02-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Exclamation

Aunque ya se ha respondido, te amplio algo que yo utilizo, por si te esclarece más, que yo la primera vez me costó un poco:

Por ejemplo, para que el receptor del drag-and-drop sea un tmemo en tu form, puedes ampliar la clase TMemo con
Código Delphi [-]
type   
  //la clase TMemo sera receptora del drag-and-drop   
  TMemo = class(Vcl.StdCtrls.TMemo)   protected     
    procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;     
    procedure    CreateWnd; override;     
    procedure DestroyWnd; override;   
  end;

y estos metodos escribirlos:
Código Delphi [-]
{$REGION 'Memo'}  
procedure TMemo.CreateWnd; 
begin   
  inherited;   
  DragAcceptFiles(Handle, true); 
end;  

procedure TMemo.DestroyWnd; 
begin   
  DragAcceptFiles(Handle, false);   
  inherited; 
end;  

procedure TMemo.WMDropFiles(var Message: TWMDropFiles); 
var   
  numfichs: integer;   
  fn: array[0..MAX_PATH-1] of char;   
  nomfichero,extension:string; 
begin    
  numfichs := DragQueryFile(Message.Drop, $FFFFFFFF, fn, MAX_PATH);   
  if numfichs <> 1 then   
  begin     
    MessageBox(Handle, 'Solo un fichero.', 'Error descarga', MB_ICONERROR);     
    Exit;   
  end;    
  if DragQueryFile(Message.Drop, 0, fn, MAX_PATH) = 0 then 
    Exit;    
  nomfichero := fn;   //contiene el path completo    
 //hacer lo que se quiera con el fichero o con el nombre   
end; 
{$ENDREGION 'Memo'}

con esto, cualquier tmemo que incluyas en tu form podra ser receptor de drag and drop, por ejemplo para cargar en el el contenido del fichero si es de tipo texto.
Tambien podrías cambiarlo para aplicarlo sobre un tedit y que el receptor fuera el tedit....

Última edición por Neftali [Germán.Estévez] fecha: 02-04-2024 a las 09:49:14. Razón: Corregir la visualización del código
Responder Con Cita
  #3  
Antiguo 02-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Neftali, hemos 'chocado'.
Pero ¿porque no se ve mi codigo bien? cuando he previsualizado lo veía bien antes de enviarlo.....
Responder Con Cita
  #4  
Antiguo 02-04-2024
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por javipes Ver Mensaje
Neftali, hemos 'chocado'.
Si, nos hemos pisado los mensajes..

Cita:
Empezado por javipes Ver Mensaje
Pero ¿porque no se ve mi codigo bien? cuando he previsualizado lo veía bien antes de enviarlo.....
Ya está corregido.
Es un error antiguo de vBulletin. A veces cuando se usa la vista previa, se hace un lío con las etiquetas...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 02-04-2024
javipes javipes is offline
Miembro
 
Registrado: jul 2007
Posts: 14
Poder: 0
javipes Va por buen camino
Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Si, nos hemos pisado los mensajes..

Ya está corregido.
Es un error antiguo de vBulletin. A veces cuando se usa la vista previa, se hace un lío con las etiquetas...
gracias, maestro.

Última edición por Neftali [Germán.Estévez] fecha: 02-04-2024 a las 10:06:02.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Comprobar el nombre de la imagen en un drag and drop. jjuguera Varios 7 16-01-2020 22:36:23
Drag and Drop con archivo adjunto de outlook izia Varios 7 24-02-2010 08:29:28
Drag&Drop para clasificar Imagenes gcaffe OOP 2 22-04-2007 21:43:16
Drag&Drop de un archivo a mi aplicacion... Ascii1457 Varios 6 15-10-2006 16:10:09
Ruta y nombre de archivo INI jfranco Varios 2 27-02-2004 16:44:23


La franja horaria es GMT +2. Ahora son las 18:36:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi