Buenos días a todos.
Seguramente será una pregunta estúpida, pero estoy intentando mover unas imágenes dentro de otras.
Consigo mover el objeto y fijarlo (finalizar el drag) con un botton.
Supongo que sería mas fácil controlar tanto el inicio del Drag como el final del Drop.
Pensaba que tanto bDragBegin, como bDropOver se encargarían de eso. Pero no me funciona.
Algún ejemplo sencillo ?
Gracias
Drag & Drop
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Drag & Drop
Puedes exponer, aquí, el código de cómo lo estás haciendo?
Un ejemplo funcional que se pueda compilar.
Un ejemplo funcional que se pueda compilar.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
-
- Posts: 91
- Joined: Wed Jan 02, 2019 8:36 am
Re: Drag & Drop
Buenos días Francisco
En cuanto tenga algo realmente funcional, te lo paso con mucho gusto.
En realidad, para hacer lo que quería, he tenido que crear una clase nueva en base a la clase TBitmap.
Ya he conseguido bastantes cosas de las que necesito, pero básicamente es crear falsas ventanas que contienen una imagen, para las pruebas son imágenes de colores planos: verde, rojo, naranja, etc....
Estas imágenes tienen un tamaño pero están contenidas en un objeto de tamaño menor, por tanto se mueven arriba y abajo. Para saber por donde estoy he creado un nuevo control tipo SCROLLBAR (en blanco mas estrecho de lo habitual y con el tamaño proporcional: thumbos )
Al situar el ratón por cada control, ese control toma el mando (incluso si está contenido en otro)
Las imágenes o cuadros de colores ya se mueven, drag&drop, con el siguiente código :
IF oWnd:ClassName()="TBITMAPINF"
::bRClicked:= { || ( ::lInfinito:=.f., ::Hide(), ::oWnd:lDrag:=.t. ) }
::oWnd:blDblClick := { || ::oWnd:lDrag:=.f., ::lInfinito:=.t., ::Show() }
ENDIF
Pero estéticamente no me acaba de gustar.
Te pongo unas imágenes, pero sería mejor con un video. (no se que herramienta utilizar para grabarlo)
ANTES DE MOVER
DURANTE EL MOVIMIENTO
DESPUES
En cuanto tenga algo realmente funcional, te lo paso con mucho gusto.
En realidad, para hacer lo que quería, he tenido que crear una clase nueva en base a la clase TBitmap.
Ya he conseguido bastantes cosas de las que necesito, pero básicamente es crear falsas ventanas que contienen una imagen, para las pruebas son imágenes de colores planos: verde, rojo, naranja, etc....
Estas imágenes tienen un tamaño pero están contenidas en un objeto de tamaño menor, por tanto se mueven arriba y abajo. Para saber por donde estoy he creado un nuevo control tipo SCROLLBAR (en blanco mas estrecho de lo habitual y con el tamaño proporcional: thumbos )
Al situar el ratón por cada control, ese control toma el mando (incluso si está contenido en otro)
Las imágenes o cuadros de colores ya se mueven, drag&drop, con el siguiente código :
IF oWnd:ClassName()="TBITMAPINF"
::bRClicked:= { || ( ::lInfinito:=.f., ::Hide(), ::oWnd:lDrag:=.t. ) }
::oWnd:blDblClick := { || ::oWnd:lDrag:=.f., ::lInfinito:=.t., ::Show() }
ENDIF
Pero estéticamente no me acaba de gustar.
Te pongo unas imágenes, pero sería mejor con un video. (no se que herramienta utilizar para grabarlo)
ANTES DE MOVER
DURANTE EL MOVIMIENTO
DESPUES