Sección de códigos , trucos y ejemplos para visual basic


106 - Drag and Drop de elementos desde un listbox a otro ListBox

<Volver> - Anterior - Siguiente



 

 

Contenido

 

 

 

 

 


Arrastrar un elemento o Item de un control ListBox a otro ListBox

Esto se hace con las propiedades OLEDragMode y OLEDropMode. Estas propiedades deben estar en 1, es decir en automático.

También se utiliza el evento OleDrag en el evento MouseMove del List1, esto indica que comienza o inicializa la operación de arrastre Ole para el control List1.

Luego en el evento OLEDragDrop del List2, se recupera el dato que se está arrastrando, mediante la variable Data que recibe como parámetro.

Importante : Este método solo permite añadir el dato en la posición final o en el inicio. Por este motivo, si se desea hacerlo en cualquier posición, es decir en la que se suelte el item, habría que utilizar otro método, como por ejemplo en el que se muestra en el código fuente del ejemplo a continuación a este.

Descripción y controles para el ejemplo

 

Colocar el código en un Form:

 


Arrastrar el item en la posición deseada

Este código es exactamente igual al anterior, con la diferencia de que permite arrastrar el elemento en la posición donde se desee, es decir que se agregará en el list2, de acuerdo a la posición del mouse en el momneto de soltarlo.

Para lograr averiguar el índice del elemento se utiliza la función de windows sendMessage con un mensaje llamado LB_ITEMFROMPOINT . De esta forma la función permite obtener el índice del item, y luego poder utilizarlo con el método AddItem del control de lista en el parámetro Index.

Nota. Este método para obtener el índice, también puede ser útil para otros propósitos, como por ejemplo desplegar un menú contextual sobre un elemento, mostrar tips de información etc ..: Ver ejemplo - Desplegar un Menú popup sobre un elemento en un listbox

 

Colocar : Dos list ( list1 y list2 )

Captura del Form de ejemplo

Código fuente

 


Recursos vb6 - Enlace relacionado:



Buscar en Recursos vb