Ejemplos usando el Api de windows para Visual basic

131 - Drag Drop de archivos hacia un ListView

Volver al Listado Api - Anterior - Siguiente



 

 

 

Contenido

 

 

 

 


Ejemplo 1

Muestra de como hacer un Drag and drop de archivos a un control ListView, y visualizar las rutas incluyendo los íconos de los ficheros

 

Este ejemplo utiliza las siguientes funciones del Api de windows: ImageList_Draw y SHGetFileInfo.

El mismo muestra como poder hacer en un control Listview, que tiene la propiedad OLEDropMode activada, para hacer un Drag and Drop de archivos desde el explorador y también ver a parte de la ruta , los íconos como muestra la imagen:

 

vista del control Listview con algunos archivos

 

El funcionamiento es resumidamente asi:

Al arrastrar los archivos al ListView, se ejecuta el evento OLEDragDrop del ListView.

Dentro del evento, se recorre en un bucle la colección Data.Files, que tiene la lista de archivos, es decir tiene los paths. En cada iteración del bucle, se llama a otra Rutina que se encarga de recuperar el ícono asociado, pasandole el path. El ícono se dibuja mediante el api ImageList_Draw en un control Picturebox, y luego se pasa la imagen del icono dibujada en el picture a un ImageList, que se asocia luego al control ListView en tiempo de ejecución

 

Controles

Colocar un control ListView llamado ListView1 y un control ImageList llamado ImageList1.

Nota: el ejemplo está hecho para visualizar solo en vista de Iconos, por eso si cambiamos la propiedad View del Listview a otra vista diferente, el ícono no se verá, solo se visualizará la ruta

 

Código fuente en el formulario

 


Ejemplo 2

Este ejemplo es similar también utilizando la función del Api SHGetFileInfo para obtener el ícono del los archivos y carpetas, pero a diferencia del otro, no se utiliza un picturebox temporal para dibujar el ícono, si no que se utiliza la función OleCreatePictureIndirect para retornar la imagen y luego poder agregarla al control imagelist

formulario de ejemplo

 

Controles

Agregar un control ListView al formulario llamado LV

Código fuente en el form

 


Recursos vb - Enlaces relacionados

 



Buscar en Recursos vb