Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cambio de foco a otro edit (https://www.clubdelphi.com/foros/showthread.php?t=54308)

odrack 13-03-2008 23:10:18

Cambio de foco a otro edit
 
Saludos.

Tengo la siguiente duda, estoy desarrollando una aplicacion donde tengo varios campos (edit.text), y al cambiar el foco al siguiente campo lo tengo que hacer con el mouse ya que al cambiarlo con el tabulador cambia a otro no deseado (es decir, que no sigue la secuencia de orden que tengo ya que los tengo salteados, edit1, edit5, edit 6, edit2, etc..), ¿Como puedo cambiar a un edit que yo le indique al presionar el tabulador.

Espero que me puedan ayudar..

ixMike 13-03-2008 23:19:19

Utiliza la propiedad TabOrder para indicar el orden de las tabulaciones :). La tienen todos los componentes que pueden tomar foco, aunque debes de tener en cuenta que los componentes que coloques dentro de un TPanel, por ejemplo, tienen un TabOrder independiente de los que están fuera del panel.

odrack 13-03-2008 23:21:40

Ok, quiza me digas que soy novat y si de hecho, jeje, tabOrden es propiedad o tengo que poner el codigo? si es codigo, podrias poner un ejemplo de como se hace?

Gracias!!!:D

ixMike 13-03-2008 23:25:04

Cita:

Empezado por odrack (Mensaje 273146)
Ok, quiza me digas que soy novat y si de hecho, jeje, tabOrden es propiedad o tengo que poner el codigo?

Me he fijado en que eras novato :p, pero esa pregunta que haces ¿no la podrías comprobar ya mismo? Abres Delphi y miras si los edits tienen esa propiedad, y si no la encuentras, buscar en la ayuda, y si tampoco hay nada, buscar en el foros, en Google...

aquí todos hemos aprendido buscando :)

Además, ¡ya te he puesto que es una propiedad!
Cita:

Empezado por ixMike
Utiliza la propiedad TabOrder...

Salu2.

odrack 13-03-2008 23:29:00

Ok, tienes razon, debo investigar, gracias por la ayuda!!

Yun-i 14-03-2008 16:37:48

Cita:

Empezado por odrack (Mensaje 273146)
Ok, quiza me digas que soy novat y si de hecho, jeje, tabOrden es propiedad o tengo que poner el codigo? si es codigo, podrias poner un ejemplo de como se hace?

Gracias!!!:D


Aqui nadie nace sabiendo no te preocupes jejeje yo tambien soy un novato y eh tenido la fortuna de encopntrar en el foro gente que sabe mucho y me han ayudado mucho. jejej

bueno mira encuanto a tu duda no se si deba decirtelo jeje en realidad no es complicado solo da click izquierdo sobre la forma donde estan tus edits y ahi saldra un meno en ese menu debe decir tab Order lo seleccionas y ahi pones el orden de los edits como tu lo decees :)

y no creas que hay preguntas tontas porque no sabes si alguien tenga la misma pregunta y con tu post lo ayudes jejejej es algo que en el foro he aprendidooo :D

odrack 14-03-2008 16:45:03

Gracias Yun-i!!

Es verdad que nadie nace sabiendo, pero lo que si es que debi investigar un poco mas y entender la respuesta que me dio ixMike, ya que no era nada compiclado buscar en las propiedades del edit:D, te agradesco también por tu ayuda que me ha servido de mucho ya que tambien es una buena forma de solucionarlo.

Saludos!!:)

gluglu 14-03-2008 17:12:08

Uan vez abierto tu formulario en Delphi, arriba en el menú 'Edit' del propio Delphi encontrarás otro Submenú que es 'Tab Order'.

Ahí podrás ordenador 'visualmente' todos los componentes que tengas en tu Form según el orden de tabulador que te interese. Una vez hayas realizado esta operación, en cada uno de tus componentes podrías comprobar la propiedad TabOrder que te han indicado para verificar el orden en que se ha colocado.

... ahora bien, es mucho más inmediato y fácil hacerlo como te indico en mi primer párrafo.

;)

odrack 14-03-2008 17:19:48

Excelente respuesta gluglu!! Verlo visualmente es de mucha ayuda, he solucionado el problema con el tab order, solo tengo una duda, cuando entro a un Dbgrid y cambio con el tabulador me regresa al primer registro, ¿Habrá alguna forma de salir del dbgrid?

Saludos!!

gluglu 14-03-2008 17:23:47

No he entendido tu pregunta :

Cita:

... cuando entro a un Dbgrid ... ¿Habrá alguna forma de salir del dbgrid?
No sé a lo que te refieres. :confused:

odrack 14-03-2008 17:30:33

Perdon por no haberme explicado bien, me refiero a que tengo un dbgrid y selecciono un registro mostrado dentro de un dbgrid por una consulta previamente hecha, cuado presiono el tabulador cambia al siguiente campo (ej, Nombre, Apellido, etc... selecciono nombre y presiono la tecla tabulador, este cambia a Apellido), mi pregunta era como puedo seleccionar un edit despues de haber seleccionado un dbgrid, es decir cambiar con el tabulador a un edit o boton. Espero que haya quedado un poco mas claro, perdon, pero no soy bueno explicando las cosas, tengo que practicar mas:D.

Gracias

eduarcol 14-03-2008 17:30:43

Cita:

Empezado por odrack (Mensaje 273301)
Excelente respuesta gluglu!! Verlo visualmente es de mucha ayuda, he solucionado el problema con el tab order, solo tengo una duda, cuando entro a un Dbgrid y cambio con el tabulador me regresa al primer registro, ¿Habrá alguna forma de salir del dbgrid?

Saludos!!

En las propiedades del dbGrid hay una seccion llamada options, alli ubica la propiedad TABS y colocala en FALSE

gluglu 14-03-2008 17:34:08

Además de la propiedad que indica eduarcol, también te puedes fijar en la opción RowSelect, dentro de la propiedad Options del DBGrid. Este te seleccionará la línea entera en vez de cada campo por separado. Así no te irá desplazando con el tabulador por cada una de las columnas que tengas en el DBGrid.

Eso ya dependerá de tus preferencias personales. ;)

eduarcol 14-03-2008 17:39:48

Cita:

Empezado por gluglu (Mensaje 273312)
Además de la propiedad que indica eduarcol, también te puedes fijar en la opción RowSelect, dentro de la propiedad Options del DBGrid. Este te seleccionará la línea entera en vez de cada campo por separado. Así no te irá desplazando con el tabulador por cada una de las columnas que tengas en el DBGrid.

Eso ya dependerá de tus preferencias personales. ;)

de sus preferencias y necesidades, ya que el RowSelect es de solo lectura, si necesita editar no va a poder con esa propiedad

gluglu 14-03-2008 17:47:51

Totalmente de acuerdo, eduarcol.

Recuerdo mis inicios en los que aprendí a través de este foro que editar directamente en el DBGrid es altamente desaconsejable ... :rolleyes:

Pero de nuevo, esa decisión la dejo al criterio de cada cual ;)

keyboy 14-03-2008 17:49:23

Cita:

Empezado por gluglu (Mensaje 273317)
editar directamente en el DBGrid es altamente desaconsejable

¿Por qué? :confused:

Bye

eduarcol 14-03-2008 17:50:09

Ahora si tienes mi atencion por completo, porq piensas que no se puede aconsejar esas ediciones, si asi las tengo en todos mis sistemas y no me ha dado problema :confused:

keyboy 14-03-2008 17:53:35

También que especifique, por favor, en qué hilos aprendió eso. :D

Bye

gluglu 14-03-2008 17:57:28

Problema no tiene que dar ninguno. Simplemente creo entre otras cosas que las posibilidades de editar fuera de un DBGrid son mucho más amplias. Insisto, problema ninguno en sí mismo. Probablemente enredos díficiles de resolver dentro del propio DBGrid cuando se trata de ediciones complejas.

... voy a buscar hilos acerca de lo que digo que se desaconseja .... :o

Un hilo al respecto de nuestro gran maestro 'perdido' Roman

keyboy 14-03-2008 18:04:12

Cita:

Empezado por gluglu (Mensaje 273323)
Probablemente enredos díficiles de resolver dentro del propio DBGrid cuando se trata de ediciones complejas.

¡Ah! En eso estamos de acuerdo. Un DBGrid puede ser muy ineficiente para editar datos de registros con muchos campos y/o datos complejos. Pero hay también situaciones en las que un control tabular es recomendable, por ejemplo, si sólo tienes que modificar unas cuantas columnas sencillas pero debes hacerlo en varios registros (por ej: las calificaciones de los alumnos de un grupo). Si obligas al capturista a abrir una ventana modal para cada edición, se va a acordar de ti :)

Bye


La franja horaria es GMT +2. Ahora son las 19:41:14.

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