Page 1 of 1

Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 1:06 pm
by Mario Mansilla
Hola :
Necesito implementar el desplazamiento en los controles de un formulario al igual que lo hace el get-read de clipper .
Intento implementarlo con ONKEY pero me da error , aparentemente solo funciona cunado esta ligado a un evento del control .
¿Como puedo detectar en que control está el foco?
Saludos .
Mario Mansilla
Hi
I need to implement scrolling in a form controls as does the get-read the clipper.
I try to implement it gives me error onkey but apparently only works in-law is linked to a control event.
How I can detect which is the focus control?
Saludos
Mario Mansilla

Re: Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 1:32 pm
by danielmaximiliano
Hola Mario:
Necesitas esto para navegar sobre los diferentes TextBox

Code: Select all

#include <hmg.ch>

Function Main
        set navigation extended
        Load Window Main
		On Key Up Of Main Action (Move_Focus()) 
        Main.Center
        Main.Activate

Return
Saludos

Re: Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 1:41 pm
by Mario Mansilla
Hola Daniel :
Gracias por tu repuesta .
Cuando agrego el set navigation , con Enter puedo desplazarme hacia adelante , pero necesito solucionar cuando quiero regresar al control anterior .
Por eso cuando presiono UP , el procedimiento (Move_Focus()) me da un error .
Saludos
Mario Mansilla

Re: Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 2:06 pm
by gfilatov
Mario Mansilla wrote:...
Hi
I need to implement scrolling in a form controls as does the get-read the clipper.
I try to implement it gives me error onkey but apparently only works in-law is linked to a control event.
How I can detect which is the focus control?
Saludos
Mario Mansilla
Hola Mario,

Please try the following updated sample: :arrow:

Code: Select all

#include <hmg.ch>

Function Main

        Load Window Main
		On Key Up Of Main Action Move_Focus()
        Main.Center
        Main.Activate

Return Nil

*------------------------
Static Procedure Move_Focus
*------------------------
Local c_Objeto := This.FocusedControl

Do Case
  Case c_Objeto = "Text_2"
      Main.Text_1.Setfocus
  Case c_Objeto = "Text_3"
      Main.Text_2.Setfocus
Endcase

Return

Re: Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 2:16 pm
by Mario Mansilla
Hola Grigory :
Perfecto , ahora funciona como lo necesito :) .
No conocia esta propiedad .
Muchas gracias
OK, now works as I need :) . did not know this property.
thank you very much

Saludos .
Mario Mansilla

Re: Desplazamiento como en clipper

Posted: Mon Oct 03, 2011 2:47 pm
by Rathinagiri
Thanks Grigory.

Can we know what would be the next focus control by pressing tab?

Re: Desplazamiento como en clipper

Posted: Tue Oct 04, 2011 7:13 am
by gfilatov
rathinagiri wrote:Thanks Grigory.

Can we know what would be the next focus control by pressing tab?
Rathi,

Try

NextControlHandle := GetNextDlgTabITem ( GetActiveWindow() , GetFocus() , .f. )

and then you can get the control's index by search in the Control Handles array
i := Ascan ( _HMG_aControlHandles , NextControlHandle )

Hope that give you an idea :idea:

Re: Desplazamiento como en clipper

Posted: Tue Oct 04, 2011 8:04 am
by Rathinagiri
Oh! That's nice.