La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1034 - ARRASTRAR UN ICONO DEL ESCRITORIO Y SOLTARLO EN VB
Autor:  Eduardo Mireles
Necesito poder arrastrar los iconos del escritorio y soltarlos en una aplicación VB, lo hago pero al soltarlos sobre mi aplicación no se ejecuta ningún evento. Necesito saber si existe algún control que registre este evento cundo suelto un icono del escritorio sobre él. De los parámetros pasados y lo demás yo me encargo. Gracias. PD. Debe funcionar en 16 y 32 bits.

  Respuesta:  F. Bernal
El evento que se genera sobre el form es "MouseUp".
cuando sueltas el icono, con base en este y sus parámetros puedes determinar que programa es y otras cosas...

  Respuesta:  Mike79
Bueno primeramente te dire que LEAS LA AYUDA DE VBASIC busca OLEDragDrop ahi viene explicado ese tipo de cosas, muchas vecez por no leer, no nos enteramos.

Bueno la forma de hacerlo es la siguiente:
Al objeto de tu programa que desees pueda recibir archivos ponle la propiedad OLEDropMode en 1 (Manual)
Luego utiliza el evento OLEDragDrop para recibir el archivo.

Un ejemplo muy facil de hacer, crea un nuevo programa, pon la propiedad Form1.OLEDropMode en 1, y en el codigo teclea:

Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.Print Data.Files(1)
End Sub
Data.Files sera un arreglo que tendra la lista de todos los archivos que fueron arrastrados a tu programa.

Bueno, ahora pruebalo arrastrando un icono del escritorio a cualquier parte de tu ventana, o mejor aun, arrastrando un archivo del explorador de windows a tu ventana, espero que este ejemplo te sirva, y si no, recuerda lee la ayuda, ahi viene mas información al respecto, saludos y suerte!!!.