Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Drag&Drop: Ejecutar mi aplicación y cargar el fichero arrastrado. (https://www.clubdelphi.com/foros/showthread.php?t=69472)

madiazg 20-08-2010 13:10:14

Drag&Drop: Ejecutar mi aplicación y cargar el fichero arrastrado.
 
Hola a todos,
estoy peleándome con el Drag&Drop. Pretendo que al arrastrar un fichero sobre el acceso directo de mi programa en el escritorio, éste se ejecute y muestre el fichero en pantalla (en este caso una imagen).
He estado revisando el foro y gracias a él he encontrado en Trucomanía como hacerlo pero con el programa en ejecución:

http://www.trucomania.org/trucomania/truco.cgi?222&esp

¿Alguién puede ayudarme? Programo en TurboDelphi.

Saludos...
Miguel Angel

ecfisa 20-08-2010 18:45:45

Hola madiazg.

Basándome en el código del link:

Agregá un TImage en el form.

Código Delphi [-]
uses ShellApi, JPeg;

procedure TForm1.WMDropFiles ( var Msg : TWMDropFiles ) ;
var
  fName : array [0..Max_Path] of char;
  FileCount ,i: integer;
begin
  FileCount := DragQueryFile( Msg.Drop,$FFFFFFFF,fName,MAX_PATH );
  for i := 0 to FileCount-1 do begin
     DragQueryFile( Msg.Drop,i,fName,MAX_PATH );
     Image1.Picture.LoadFromFile(fName);  
  end;
  DragFinish ( msg.Drop );
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  DragAcceptFiles(Handle,True) ;
 end;

Incluí la unit Jpeg para soportar imágenes jpg, pero tendrías que probar con los diferentes formatos.


Saludos.

Chris 20-08-2010 19:44:40

Cuando se arrastra un archivo hacia el "enlace directo" de nuestro programa, lo que hace el S.O es abrir una nueva instancia de nuestro programa y pasarle en el segundo parámetro de inicio la ubicación del archivo arrastrado. El primer parámetro de inicio siempre es la ubicación de nuestro programa.

Con esa información que te he dado ya puedes implementar lo que quieres hacer.

saludos.

madiazg 21-08-2010 09:28:55

Gracias Chris...
Para quien quiera más información sobre este asunto:
http://www.ajpdsoft.com/modules.php?...howpage&pid=58

Saludos...
Miguel Angel


La franja horaria es GMT +2. Ahora son las 13:46:25.

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