![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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) |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
||||
|
||||
|
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. |
|
#4
|
||||
|
||||
|
¿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 |
|
#5
|
|||
|
|||
|
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|