PDA

Ver la Versión Completa : TabOrder


Guillermo
23-07-2003, 16:30:36
Hola Amigos.

Una pequeña consulta pero de gran ayuda, resulta que en mi formulario tengo varios componentes Combobox, Maskedit y Edit, el problema es que cuando quiero setearles en la propiedad TabOrder de cada uno un numero de orden, el mismo delphi vuelve a cambiarlo y le pone otro numero distinto, me podrian ayudar a entender que es lo que pasa.

Saludos, Guillermo.

marcoszorrilla
23-07-2003, 16:39:27
Imaginemos que tenemos 3 Tedit.

Edit1
Edit2
Edit3

El TabOrder es el siguiente:

Edit1 0
Edit2 1
Edit3 2

Si al Edit3, le pongo como taborder el número 0, es decir el primero, al existir dicho número.

Me respeta el número que yo le puse a Edit3 es decir el 0, el primero, pero el anterior 0 pasará aser 1.

En conclusión cambias todos los que tengas que cambiar y al final te quedarán en el orden que tu quieras.

Un Saludo.

Guillermo
23-07-2003, 17:21:13
Marcos lo que me decis en el mail funciona a la perfeccion y ademas me hice ejemplos con varios y funciona bien.

¿¿?? pero en mi formulario no me funciona, cambio los TabOrder y cuando me vuelvo hacia atras me los pone de cualquier forma, por mas que repita los numeros o no se repitan y ademas le he tratado de buscar la vuelta y no hay caso.


Gracias, Guillermo.

delphi.com.ar
23-07-2003, 17:31:47
Un par de preguntas:

¿Tu formulario hereda de TForm?
¿Utilizas herencia visual?
¿Tienes en cuenta que el Tab-Order se "discrimina" por los componentes contenedores, y dentro de estos existe otro Tab-Order?


Saludos!

marcoszorrilla
23-07-2003, 22:58:59
Dado el número de preguntas que lleva me inclino porque usa contenedores.

si tienes varios controles sobre un Tpanel por ejemplo y otros sobre un segundo Tpanel por poner un ejemplo.

Si el primer tpanel tiene el Taborder 0 y el segundo el 1 como sería lo lógico, entonces cualquier control que se halle dentro del Tpanel2 tendrá un Taborder posterior al del primero.

Mas ó menos estaríamos hablando de subíndices.

Tpanel1.- 0, Control1 - 0 control2 - 1

Tpanel2.- 1, Control1 - 0 control2 - 1

Todos los controles del Panel1, mientras esté tenga el Taborder 0 estarán antes que los del Tpanel2.

Un Saludo.

German
24-07-2003, 00:13:18
En vez de cambiar el orden manualmente, ¿por que no lo cambias utilizando el menu contextual?

Es decir, pulsando sobre el formulario y/o contenedor con el boton derecho, haciendo clic sobre la opcion "Tab order", y cambiando el orden de los componentes utilizando la ventana que aparece.

Guillermo
24-07-2003, 19:21:44
Todos tienen razón utilizando el menu contextual TabOrder me he percatado que tengo mezclado varios paneles (sin querer).

En realidad veo frente mis ojos todos los componentes sobre el Panel 2 con la propiedad Al Client (Eso pensaba); pero he aqui que una parte de ellos esta sobre un panel llamado Panel 2, otra parte esta sobre otro llamado Panel 3 (Panel contenido por el Panel 2) y como si fuera poco otro conjunto de componentes esta sobre el Form, es una ensalada.

Gracias amigos, Saludos y me pondre a trabajar en la reconstrucción.