Inicio > Delphi, Ejemplos > Arrastrar elementos entre dos TListBox

Arrastrar elementos entre dos TListBox

Share Button

Se trata de un ejemplo de cómo arrastrar elementos entre dos componentes de tipo TListBox utilizando el ratón.
Está basado en un formulario que ya trae el propio Delphi como ejemplo y accesible desde el menú de:

File/New/Other/Forms/Dual List Box

En este ejemplo se añaden 4 procedimientos que introducen la posibilidad de mover elementos utilizando el ratón y que en el original sólo se puede realizar utilizando controles del formulario.
La técnica de Drag & Drop que se usa en este ejemplo entre dos TListBox, puede ser fácilmente exportable para utilizarla con otros controles; StringGrids, DBGrid,…

Arrastrar entre 2 TListbox

Download Descargar ejemplo

Vota este post
  1. Alejandro
    lunes, 11 de octubre de 2010 a las 04:40 | #1

    muy bueno!! abria una forma de q en lugar de ver el rectangulo en el mouse se vea que diga en este caso item3?

    gracias!

  2. Neftalí
    lunes, 11 de octubre de 2010 a las 08:29 | #2

    Hola Alejandro.
    Se podrá posiblemente si generas un cursor personalizado y en lugar del estandard utilizas ese cursor nuevo.

    Revisa esta entrada “Utilizar un BMP para cambiar el cursor” (http://neftali.clubdelphi.com/?p=101); Ahí podrás ver cómo definir un cursor diferente a los estandard.

    Un saludo.

  3. Vale
    martes, 7 de junio de 2011 a las 00:31 | #3

    Necesito hacer lo que has aplicado ahi con listas, pero con dbgrid, conectadas a una base de datos.. Podrias darme alguna ayudita??

  4. Neftalí
    martes, 7 de junio de 2011 a las 08:58 | #4

    @Vale
    Haz la prueba utilizando los mismos eventos que se usan en el ejemplo. la mecánica es la misma, pero utilizando los grids. Es decir, los datos en lugar de extraerlos del Listbox los extraes del Dataset.
    También puedes mirar esta referencia a las páginas de Zarko Gajic(http://delphi.about.com/b/2009/02/19/drag-and-drop-operations-with-delphis-dbgrid.htm)

    Un saludo.

  1. Sin trackbacks aún.