Drag & Drop

Post Reply
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Drag & Drop

Post by JESUS MARIN »

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
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Drag & Drop

Post by FranciscoA »

Puedes exponer, aquí, el código de cómo lo estás haciendo?
Un ejemplo funcional que se pueda compilar.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
JESUS MARIN
Posts: 91
Joined: Wed Jan 02, 2019 8:36 am

Re: Drag & Drop

Post by JESUS MARIN »

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
Image

DURANTE EL MOVIMIENTO
Image

DESPUES
Image
Post Reply