Arrastrar y soltar desde el explorador de
en Este artículo se muestra cómo aceptar los archivos cayeron desde el exterior de su aplicación Delphi.
unit Unit1
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de diálogo,
& nbsp & nbsp StdCtrls
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp procedimiento FormCreate(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento FormDestroy(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp protegido
& nbsp & nbsp & nbsp & nbsp procedimiento WMDropFiles(var Msg: TWMDropFiles) mensaje WM_DROPFILES
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp Form1: TForm1
aplicación
{$R *.DFM}
utiliza ShellAPI
procedure TForm1.FormCreate(Sender: TObject)
begin
& nbsp & nbsp { Esta llamada a DragAcceptFiles le dice a Windows que queremos saber si los archivos
& nbsp & nbsp & nbsp & nbsp se dejó en nuestra forma de Explorador o Administrador de Archivos. }
& nbsp & nbsp DragAcceptFiles(Mango, TRUE)
fin
procedure TForm1.FormDestroy(Sender: TObject)
begin
& nbsp & nbsp { Notificar a Windows que ya no queremos soltar mensajes de notificación. }
& nbsp & nbsp DragAcceptFiles(Mango, FALSE)
fin
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles)
var
& nbsp & nbsp I: integer
& nbsp & nbsp S: string
begin
& nbsp & nbsp con Msg
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp { Llamando DragQueryFile con el número de archivo como -1 ($FFFFFFFF) volverá
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp el número de archivos que fueron lanzadas en el formulario. }
& nbsp & nbsp & nbsp & nbsp for I := 0 a DragQueryFile(Gota, -1, nil, 0) - 1 hacer
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp { Aquí hacemos un llamamiento DragQueryFile para cada archivo bajado la especificación de un buffer
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp longitud de cero a la hora de determinar el número de caracteres necesarios para la
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp nombre de archivo, y, a continuación, utilizar SetLength para asignar la cantidad adecuada de espacio.
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp tenga en cuenta que debemos agregar uno para el valor devuelto por DragQueryFile a
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dejar espacio para el carácter terminador nulo. }
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp SetLength(S, DragQueryFile(Drop, yo, nil, 0) 1)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp { Obtener el nombre completo del fichero en el S. Cualquier procesamiento que se necesita hacer
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para cada archivo puede hacer después de esta llamada. }
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DragQueryFile(Drop, yo, PChar(S), Longitud(S))
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp { DragFinish completa la operación y libera los recursos asociados. }
& nbsp & nbsp & nbsp & nbsp DragFinish(Drop)
& nbsp & nbsp final
fin
final.
Arrastrar y soltar desde el explorador de
Arrastrar y soltar desde el explorador de : Multi-millones de consejos para hacer su vida mas facil.
en Este articulo se muestra como aceptar los archivos cayeron desde el exterior de su aplicacion Delphi.
unit Unit1
interfaz
usos
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de dialogo,
& nbsp & nbsp StdCtrls
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp procedimiento FormCreate(Sender: TObject)
& nbsp & nbsp & nbsp & nbsp procedimiento FormDestroy(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp protegido
& nbsp & nbsp & nbsp & nbsp procedimiento WMDropFiles(var Msg: TWMDropFiles) mensaje WM_DROPFILES
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp Form1: TForm1
aplicacion
{$R *.DFM}
utiliza ShellAPI
procedure TForm1.FormCreate(Sender: TObject)
begin
& nbsp & nbsp { Esta llamada a DragAcceptFiles le dice a Windows que queremos saber si los archivos
& nbsp & nbsp & nbsp & nbsp se dejo en nuestra forma de Explorador o Administrador de Archivos. }
& nbsp & nbsp DragAcceptFiles(Mango, TRUE)
fin
procedure TForm1.FormDestroy(Sender: TObject)
begin
& nbsp & nbsp { Notificar a Windows que ya no queremos soltar mensajes de notificacion. }
& nbsp & nbsp DragAcceptFiles(Mango, FALSE)
fin
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles)
var
& nbsp & nbsp I: integer
& nbsp & nbsp S: string
begin
& nbsp & nbsp con Msg
& nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp { Llamando DragQueryFile con el numero de archivo como -1 ($FFFFFFFF) volvera
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp el numero de archivos que fueron lanzadas en el formulario. }
& nbsp & nbsp & nbsp & nbsp for I := 0 a DragQueryFile(Gota, -1, nil, 0) - 1 hacer
& nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp { Aqui hacemos un llamamiento DragQueryFile para cada archivo bajado la especificacion de un buffer
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp longitud de cero a la hora de determinar el numero de caracteres necesarios para la
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp nombre de archivo, y, a continuacion, utilizar SetLength para asignar la cantidad adecuada de espacio.
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp tenga en cuenta que debemos agregar uno para el valor devuelto por DragQueryFile a
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp dejar espacio para el caracter terminador nulo. }
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp SetLength(S, DragQueryFile(Drop, yo, nil, 0) 1)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp { Obtener el nombre completo del fichero en el S. Cualquier procesamiento que se necesita hacer
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp para cada archivo puede hacer despues de esta llamada. }
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp DragQueryFile(Drop, yo, PChar(S), Longitud(S))
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp { DragFinish completa la operacion y libera los recursos asociados. }
& nbsp & nbsp & nbsp & nbsp DragFinish(Drop)
& nbsp & nbsp final
fin
final.
Arrastrar y soltar desde el explorador de
By Consejos Y Trucos
Arrastrar y soltar desde el explorador de : Multi-millones de consejos para hacer su vida más fácil.