FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour orden de controles en un dialogo enter espaciadora
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
orden de controles en un dialogo enter espaciadora
Posted: Sun Dec 30, 2007 03:13 AM

Hola, tengo un peque帽o problema; tengo un dialogo con 6 controles; me interesa que al ejecutar, el control pase del text1, por ej, con enter al text2, con enter al text3, con enter a un boton "ingresa", y con enter nuevamente al text1, sin ir, al siguiente (por ej, seria text 4). Si presiono el "ingresa" con la tecla espaciadora, como la funcion que ejecuta este boton culmina con un text1:setfocus(), todo funciona perfecto; ahora, si en lugar de presionar la espaciadora, presiono enter, el programa "se saltea" el text1:setfocus, y si bien ejecuta la funcion asociada a "ingresa", el foco queda en text4, provocando por lo general un error en el operador de la aplicacion. 驴como puedo hacer para que el enter me respete este setfocus al igual que la espaciadora?
Gracias. Atte.

Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Re: orden de controles en un dialogo enter espaciadora
Posted: Mon Dec 31, 2007 01:04 PM
diegopolverelli wrote:Hola, tengo un peque帽o problema; tengo un dialogo con 6 controles; me interesa que al ejecutar, el control pase del text1, por ej, con enter al text2, con enter al text3, con enter a un boton "ingresa", y con enter nuevamente al text1, sin ir, al siguiente (por ej, seria text 4). Si presiono el "ingresa" con la tecla espaciadora, como la funcion que ejecuta este boton culmina con un text1:setfocus(), todo funciona perfecto; ahora, si en lugar de presionar la espaciadora, presiono enter, el programa "se saltea" el text1:setfocus, y si bien ejecuta la funcion asociada a "ingresa", el foco queda en text4, provocando por lo general un error en el operador de la aplicacion. 驴como puedo hacer para que el enter me respete este setfocus al igual que la espaciadora?
Gracias. Atte.


Si los controles est脿n en el archivo de recursos, debes indicar el orden all铆, de lo contrario, el orden ser谩 el mismo en que aparezcan en el c贸digo, vale decir que si deseas que el tab pase de el control x al contro y, deber谩s definirlos en ese orden en el c贸digo.

Para alterar ese orden, lo haces con el metodo Losftocus() del control o en la acci贸n en el caso de botones o donde te lo permita, es decir, todo control permite ejecutar un block de codigo al perder foco, en ese block pones un controlx:Setfocus() y en alg霉n caso ser谩 necesario usar la variable de instancia ojump del control que abandonas.

Aqu铆 tienes un ejemplo que muda de un bot贸n a un combobox que no es el siguiente en el orden de definicion:

oBoton[1]:=oCombo[1], oCombo[1]:SetFocus()

Espero te ayude.
Saludos/Regards,

Jos茅 Murugosa

"Los errores en programaci贸n, siempre est谩n entre la silla, el teclado y la IA!!"
Posts: 149
Joined: Thu Jun 21, 2007 03:26 PM
Re: orden de controles en un dialogo enter espaciadora
Posted: Wed Jan 02, 2008 03:14 PM
Espectacular...!!! Lo que es saber, eh... Gracias...!!!


jose_murugosa wrote:
diegopolverelli wrote:Hola, tengo un peque帽o problema; tengo un dialogo con 6 controles; me interesa que al ejecutar, el control pase del text1, por ej, con enter al text2, con enter al text3, con enter a un boton "ingresa", y con enter nuevamente al text1, sin ir, al siguiente (por ej, seria text 4). Si presiono el "ingresa" con la tecla espaciadora, como la funcion que ejecuta este boton culmina con un text1:setfocus(), todo funciona perfecto; ahora, si en lugar de presionar la espaciadora, presiono enter, el programa "se saltea" el text1:setfocus, y si bien ejecuta la funcion asociada a "ingresa", el foco queda en text4, provocando por lo general un error en el operador de la aplicacion. 驴como puedo hacer para que el enter me respete este setfocus al igual que la espaciadora?
Gracias. Atte.


Si los controles est脿n en el archivo de recursos, debes indicar el orden all铆, de lo contrario, el orden ser谩 el mismo en que aparezcan en el c贸digo, vale decir que si deseas que el tab pase de el control x al contro y, deber谩s definirlos en ese orden en el c贸digo.

Para alterar ese orden, lo haces con el metodo Losftocus() del control o en la acci贸n en el caso de botones o donde te lo permita, es decir, todo control permite ejecutar un block de codigo al perder foco, en ese block pones un controlx:Setfocus() y en alg霉n caso ser谩 necesario usar la variable de instancia ojump del control que abandonas.

Aqu铆 tienes un ejemplo que muda de un bot贸n a un combobox que no es el siguiente en el orden de definicion:

oBoton[1]:=oCombo[1], oCombo[1]:SetFocus()

Espero te ayude.

Continue the discussion