FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con Objetos
Buenas amigos de la comunidad de delphi! les escribo para que me ayuden un poco con algo que estoy haciendo, yo estoy moviendo un imagen sobre varios shape en tiempo de ejecucion, y me gustaria saber como hago para captar el nombre del shape sobre el cual estoy arrastrando la imagen, Recuerden que cuando digo que estoy arrastrando la imagen es que la tengo seleccionada con el click del mouse, no hay una manera de que me diga a penas suelte el click del mouse que tengo sobre la imagen, sobre que shape estoy parado?
__________________
La vida es un simple pero complejo If J=rS
|
#2
|
||||
|
||||
Hola,
Se me ocurre que podrías utilizar el evento "OnMouseMove" de los "TShape". No sería menester que cada uno tuviera "su propio evento", estos podrían compartirlo. En determinada variable podrías guardar la información que te interesa: sobre qué "TShape" se "paró" el ratón. ¿Qué tal? |
#3
|
||||
|
||||
Si pones el código que estás utlizando ayudaría...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
|||
|
|||
Yo con objetos Shape y otros componentes delphi no suelo tratarlos, pero si q he tenido q hacer objetos q se arrastren.
Yo lo q suelo hacer es, digamos q tengo un objeto q se arrastra y otro contenedor, entonces, cuando arrastro un objeto, activo el contenedor para q se ponga en activo, y al soltar el ratón, lo desactivo. Entonces al activar el contenedor, el contenedor mira si el puntero se está posicionando encima de él, si es asi, suelo hacer q el contenedor cambie de forma para q se sepa q estas encima, y si sueltas dentro del contenedor, entonces haría lo q tenga q hacer...para esto podrías quizás sobreescribir las clases o quizás no... Esto lo hago yo xq me creo mis propios objetos, pero igual el propio delphi tiene otras posibilidades, espero no llevarte por el mal camino... |
#5
|
||||
|
||||
¿Y no sería mejor utilizar el mecanismo de drag&drop que ya implementa Delphi?
1. Se pone la imagen en DragMode = dmAutomatic. 2. A los objetos TShape se les asigna el mismo evento OnDragOver y OnDragDrop. 3. En OnDragOver se pone el parámetro Accept en true para aceptar el arrastre (o se usa algún otro método para determinar si se puede o no soltar ahí la imagen). 4. Ambos eventos cuentan con el parámetro Sender que será el TShape sobre el que se va a soltar la imagen y el parámetro Source que es el objeto que se está arrastrando. 5. En el evento OnDragDrop se usan los parámetros X, Y para determinar la posición donde se suleta la imagen y, en su caso, mover el objeto TImage ahí. // Saludos |
#6
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
Última edición por JerS fecha: 12-10-2005 a las 00:35:21. |
#7
|
||||
|
||||
Hola,
Con el permiso de roman. Estuve jugando un poco con el tema y he preparado un sencillo ejemplo (que adjunto) a ver qué te parece JerS. Última edición por dec fecha: 12-10-2005 a las 03:35:27. Razón: Actualizar el archivo adjunto. |
#8
|
|||
|
|||
Cita:
__________________
La vida es un simple pero complejo If J=rS
|
|
|
|