Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-12-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Cambiar de campo con flechitas

Buenos dias a todos.

Estoy utilizando delphi 6 y estoy viendo si es posible hacer lo siguiente:

Tengo un formulario con 40 tedit, en los cuales quiero ver si es posible hacer que cuando se presionen las teclas de flechitas Abajo o Arriba salte al campo inmediato que este bajo dicho tedit.

Ejemplo:


Fomulario


tedit1 tedit4
tedit2 tedit5
tedit3 tedit6

El orden de tabularcion es 1,4,2,5,3,6 y necesito que si presiono flechitas si estoy en el campo 1 me pase al campo 2 y si estoy en el cinco me envie al 6 si presiono flechitas hacia abajo.

Nota: Se que existe la propiedad setfocus de cada objeto, pero el inconveniente es que la aplicacion ya cuenta con 30 formulario y hacerlo uno por uno me resulta mucho tiempo, no se si existe una forma de hacerlo mas facil en donde con una sola funcion lo logre y no tener que decirle campo por campo.

Sin más me despido y gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 03-12-2004
quetzal quetzal is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 21
quetzal Va por buen camino
Thumbs up

Enter, Flecha arriba y abajo
if (Key=13)or(Key=40)or(Key=38) Then
nombreFormulario.SelectNext(nombreFormulario.ActiveControl,Key<>38,true);

__________________
Toda Teoria es Gris mas es verde en Arbol de Dorados Frutos que es la Vida (Goethe)
Responder Con Cita
  #3  
Antiguo 03-12-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Si esta bien pero

Ya valide lo que me pasaste y si esta bien, pero tengo 6 tedit


tedit1 tedit2

tedit3 tedit4

tedit5 tedit6

Si presiono tab y estoy en el campo 1 me pasa al campo 2 pero si presiono flechitas me pasa al 2 y yo quisiera que fuera el 3, esto es si presiono flechitas me pasa a al campo de arriba o abajo, independiente de su tab order.
Responder Con Cita
  #4  
Antiguo 03-12-2004
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.282
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
Los métodos que existen, éste y el que existe utilizando mensajes utilizan el TabOrder para posicionarse en el "siguiente" control; Me da la impresión de que si quieres que al pulsar la flecha Derecha se posicione en el más próximo en esa dirección, independientemente del TabOrder, e igual en las siguientes direcciones lo vas a tener que realizar tú "a mano".
Deberás hacer una rutina que te calcule, a partir de un control, el más prosimo en una determinada dirección.

Debes repasar todos los componentes del Form (Form.ComponentCount y Form.Components[i]) y detectar cual el el "siguiente" a partir de la dirección (flecha pulsada). Sólo un detalle, ten en cuenta que estén dentro del mismo contenedor, ya que no te servirá para controles que estén en diferentes pestañas (por ejemplo).
__________________
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 03-12-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y por qué no simplemente:


Código:
Flecha derecha: SelectNext(Control, true, false)
Flecha izquierda: SelectNext(Control, falsa, false);
Flecha abajo: SelectNext(Control, true, false), SelectNext(Control, true, false)
Flecha arriba: SelectNext(Control, false, false), SelectNext(Control, false, false)
?

// Saludos
Responder Con Cita
  #6  
Antiguo 03-12-2004
cesar_picazo cesar_picazo is offline
Miembro
 
Registrado: ene 2004
Posts: 65
Poder: 21
cesar_picazo Va por buen camino
Creo que ya se que voy a hacer

De la coleccion de controlcount

voy a hacer un recorrido en los objetos y el inmediato abajo o arriba mas cercano ese va a obtener el foco. propiedades top left

Gracias por su ayuda, voy a ponerlo y lo voy a publicar en el foro, por su ayuda gracias.
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


La franja horaria es GMT +2. Ahora son las 04:37:30.


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