Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2007
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Question Moviendo componentes con teclado

Hola de nuevo, he estado trabajndo un poco con el codigo que me proporciono Neftali, cambie el componente Image para poder crear algo similar a lo que necesito, pero ahora lo que sucede es que tambien desearia poder mover los componentes con el teclado y ademas que entre estos no se cruzen, por esta razon tomaba como ejemplo los speedbutton y la controlbar; ya que estos se pueden cambiar de lugar sin que suceda, alguna idea con la que me puedan ayudar...?
__________________
Web
Responder Con Cita
  #2  
Antiguo 15-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por felipe88 Ver Mensaje
pero ahora lo que sucede es que tambien desearia poder mover los componentes con el teclado y ademas que entre estos no se cruzen
Eso no he acabado de enterderlo (lo de que no se cruzen), ¿Puedes explicarlo mejor?

Cita:
Empezado por felipe88 Ver Mensaje
pero ahora lo que sucede es que tambien desearia poder mover los componentes con el teclado
Eso casi es más sencillo que con el ratón, ya que lo único que debes hacer es segun las teclas (OnKeyPress/OnKeyDown) cambiar las propiedades Top y Left del componente afectado.
__________________
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.
Responder Con Cita
  #3  
Antiguo 15-11-2007
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Eso no he acabado de enterderlo (lo de que no se cruzen), ¿Puedes explicarlo mejor?
Bueno es facil, como podras ver en tu propia aplicacion yo puedo pasar un angelito sobre otro, lo que yo quiero intentar es que eso no pase cuando los este moviendo

Cita:
Empezado por Neftali Ver Mensaje
Eso casi es más sencillo que con el ratón, ya que lo único que debes hacer es segun las teclas (OnKeyPress/OnKeyDown) cambiar las propiedades Top y Left del componente afectado.
....Claro lo unico que debo hacer es usar estas lineas
__________________
Web
Responder Con Cita
  #4  
Antiguo 15-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por felipe88 Ver Mensaje
Bueno es facil, como podras ver en tu propia aplicacion yo puedo pasar un angelito sobre otro, lo que yo quiero intentar es que eso no pase cuando los este moviendo
Se me antoja difícil y costoso.
Podrías hacer una rutina que te detectara las "colisiones" entre los diferentes controles del form, mirando las coordenadas y tamaño de todos los existentes, en cada movimiento. Aun así también deberías tener en cuenta que dos controles que se "solapen" pueden estar en diferentes contenedores.

No acabo de ver hacia donde quieres ir...
__________________
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.
Responder Con Cita
  #5  
Antiguo 16-11-2007
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 19
felipe88 Va por buen camino
Bueno pues vere que me invento, aunque con este cuento de las coordenadas como que %&#&)(?¿´ no me entiendo bien...
Ademas...
Cita:
Empezado por Neftali Ver Mensaje
No acabo de ver hacia donde quieres ir...
Es algo parecido a esta imagen http://tbn0.google.com/images?q=tbn:...11m/puzle3.jpg
si lo has judado entenderas...
__________________
Web
Responder Con Cita
  #6  
Antiguo 16-11-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Ok, un poco más claro...
Entonces tal vez deberías utilizar opciones de Drag And Drop combinado con lo que hemos hablado.
Si formaras un array de controles con las posiciones (3x3 por ejemplo) eso te permitiría definir cuales son las pociones válidas (controles válidos sobre los que arrastrar); Una vez que tengas los controles válidos, el sistema controla dónde puedes y no puedes "soltar".

Revisa algun ejemplo de Drag & Drop.
__________________
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.
Responder Con Cita
  #7  
Antiguo 17-11-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
una humilde opinión de mi parte: ¿no sería mejor que utilizes TActionToolbar de una sola vez?

Puedes hacer un escaneado de los componentes en el toolbar y determinar si alguno se encuentra bajo del que intentas arrastrar, si se da el caso entonces muevelo.

Código Delphi [-]
For I := 0 to Toolbar1.ControlCount - 1 do
Begin
 if TWinControl(Toolbar1.Controls[i]).BoundsRect in MousePos Then
   IF Toolbar1.Controls[i] <> ControlArrastrado Then
  /// mover controles
end;

oviamente, ese código no es valido, pero creo que por ahí va. Lo estoy haciendo de memoria.

Saludo.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Mover Componentes Perrero80 C++ Builder 2 14-06-2007 10:16:23
Mover componentes masterwolf_fzh C++ Builder 0 08-06-2006 19:29:54
Mover componentes Perrero80 OOP 4 17-05-2006 11:47:40
Mover y agregar controles en RunTime JXJ Varios 2 05-05-2005 02:16:04
Mas dudas con los componentes en RunTime bustio OOP 3 09-02-2005 06:02:34


La franja horaria es GMT +2. Ahora son las 01:56:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi