SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: gonzalipto en Lunes 2 de Marzo de 2009, 18:24

Título: Drag and Drop de imagenes
Publicado por: gonzalipto en Lunes 2 de Marzo de 2009, 18:24
Hola, soy Gonzalo

Yo tengo un TImage con una imagen que es una cerradura por ejemplo, y tengo otras varias imagenes que son llaves, tengo que hacer que el usuario pueda tomar una de las llaves y arrastrarla hacia la cerradura para ver si esa llave encaja. Para ello necesito poder deslizar una imagen sobre otra y que la imagen que contiene la llave mantenga su contorno y que no sea un cuadrado..

Alguna ayuda?
Título: Re: Drag and Drop de imagenes
Publicado por: Unsire en Lunes 2 de Marzo de 2009, 23:16
Tal vez el siguiente código te pueda ayudar un poco:
Código: C++
  1.  
  2. TControl* control = static_cast<TControl*>(Sender);
  3. static bool pulsado = false;
  4. static TPoint posicion;
  5.  
  6. if (!pulsado && Shift.Contains(ssLeft))
  7.     posicion = Point(X, Y);
  8.  
  9. pulsado = Shift.Contains(ssLeft);
  10. if (pulsado)
  11. {
  12.     control->Left += X - posicion.x;
  13.     control->Top  += Y - posicion.y;
  14.  
  15.  
Ponlo en el Evento OnMouseMove del objeto que quieras mover, en esta caso un TImage y para que no se vea cuadrada pon la propiedad Transparent=true;
Título: Re: Drag and Drop de imagenes
Publicado por: gonzalipto en Lunes 2 de Marzo de 2009, 23:30
Hola!

Muchisssimas Gracias!!

Anduvo a la perfeccion!!

Y otra consulta mas ahora.. Como puedo hacer para guardar la imagen de forma que ahora contenga la cerradura y la llave?? es decir que contenga la imagen de fondo y la imagen que le puse encima...

Gracias de nuevo!
Título: Re: Drag and Drop de imagenes
Publicado por: gonzalipto en Lunes 2 de Marzo de 2009, 23:39
Ahhh me olvidaba!!

Una cosa mas.. el codigo me anduvo perfecto!

pero.. podrias comentarlo un poco?? porq me cuesta entenderlo..

que es static_cast? un TControl? ssLeft? Contains.Shift??

Perdon.. pero soy medio novato en Builder..

Gracias!