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


273 - Drag and Drop en un TreeView

<Volver> - Anterior - Siguiente



 

 

Contenido

 

 

 

 


Drag Drop desde un control hacia un Treeview

Ejemplo que muestra como hacer un Drag Drop de items o elementos desde un listbox hacia el item seleccionado de un control TreeView

 

Para poder realizar este ejemplo, el control TreeView debe tener la propiedad OLEDropMode con el valor ccOLEDropManual. Y en este caso, como los elementos que se van a arrastrar son los del Listox, la propiedad OLEDragMode del Listbox debe estar con el valor en 1 ( en Automatic )

 

Controles

 

Al ejecutar el form se cargarán algunos datos en ambos controles:

vista del formulario de ejemplo para hacer un drag&drop de elementos en un TreeView

 

Nota: este ejemplo permite hacer un drag drop en el item del Treeview en el cual se suelta, para ello se utiliza la propiedad DropHighlight y el método HitTest.

El primero lo que hace es devolver una referencia al Node o item seleccionado y lo resalta. El método HitTest devuelve el objeto Nodo o Item, a partir de la coordenada x e y en el momento de la operación de Drag, en este caso se usa en el evento DragOver ( Mientras se hace el arrastre )

Set TreeView1.DropHighlight = TreeView1.HitTest(x, y)

 

Nota: si se desea también poder hacer un drag drop entre los propios Items o elementos del Treeview, colocar la propiedad OLEDragMode con el valor ccOLEDragAutomatic ( al final de la página hay un simple código fuente que hace un Drag Drop entre los nodos del Treeview )

 

Código fuente en el formulario

 


Drag and Drop entre nodos

Este otro código fuente de ejemplo es de la web de Microsoft , y permite hacer el Drag and drop entre los nodos del control

 

Descargar ejemplo

vista del formulario para agregar nuevos nodos y poder hacer el drag and drop

 


Mover la lista en la operación de arrastre

Deslizar las barras de desplazamiento al hacer el drag

Este otro interesante código , muestra como poder , en el momento de realizar la operación de arrastre, deslizar la barra de desplazamiento del control , ya que por defecto las mismas no se deslizan en forma automática

Para esto emplea la función del api SendMessage junto a un control timer y la propiedad DropHighlight del treeview

 

Descargar

 


Recursos visual basic - Enlaces relacionados

 



Buscar en Recursos vb