Page 1 of 1

Como poner el Focus a un GET

Posted: Wed Nov 26, 2008 1:41 pm
by acuellar
Hola amigos

Como hago para poner el focus en un GET cuando elijo la opcion en un RADIO Ej:
FUNCTION RepLlama(mTot)
Local oFont, oBtn,oGet
private nOp:= 1, oBmp, oTmr, oTmr1, Inter:= nTot:= nSw:= nSw1:= 0,oDlg,fDes,fHas

fDes:=(FecPro-Day(FecPro))+1
fHas:=FecPro
DEFINE DIALOG oDlg RESOURCE "LLAMADAS" Title 'Llamadas Realizadas del:'
REDEFINE RADIO nOp ID 101,102,103,104,105 OF oDlg

REDEFINE GET Inter ID 106 OF oDlg UPDATE PICTURE '@z ####' WHEN nOp=5
REDEFINE DTPICKER fDes ID 107 OF oDlg UPDATE WHEN nOp=5
REDEFINE DTPICKER fHas ID 108 OF oDlg UPDATE WHEN nOp=5

REDEFINE METER oTmr VAR nSw ID 109 OF oDlg
REDEFINE BITMAP oBmp ID 112 OF oDlg RESOURCE "B-Imprime1" ADJUST

oTmr1:=TTimer():New( 700,{|| nSw1++ ,;
iif( nSw1 == 0, oBmp:SetBMP( "B-Imprime2" ), ), ;
iif( nSw1 == 1, ( oBmp:SetBMP( "B-Imprime1" ), nSw1:= -1 ), ) } )
oTmr1:Activate()

REDEFINE BUTTON oBtn ID 110 OF oDlg;
ACTION ( GeneraLST(nOp,mTot),oDlg:End() )

REDEFINE BUTTON oBtn ID 111 OF oDlg;
ACTION ( oDlg:End() )

ACTIVATE DIALOG oDlg CENTER
oTmr1:End()

Return Nil
En este caso cuando en nOp sea 5

Gracias por su ayuda

Saludos,
Adhemar

Posted: Wed Nov 26, 2008 2:03 pm
by MGA
FUNCTION RepLlama(mTot)
Local oFont, oBtn,oGet
private nOp:= 1, oBmp, oTmr, oTmr1, Inter:= nTot:= nSw:= nSw1:= 0,oDlg,fDes,fHas

fDes:=(FecPro-Day(FecPro))+1
fHas:=FecPro
DEFINE DIALOG oDlg RESOURCE "LLAMADAS" Title 'Llamadas Realizadas del:'
REDEFINE RADIO nOp ID 101,102,103,104,105 OF oDlg ;
on change(if(nop=5,inter:setfocus(),))
//supondo que inter seria o objeto do get


REDEFINE GET Inter ID 106 OF oDlg UPDATE PICTURE '@z ####' WHEN nOp=5
REDEFINE DTPICKER fDes ID 107 OF oDlg UPDATE WHEN nOp=5
REDEFINE DTPICKER fHas ID 108 OF oDlg UPDATE WHEN nOp=5

REDEFINE METER oTmr VAR nSw ID 109 OF oDlg
REDEFINE BITMAP oBmp ID 112 OF oDlg RESOURCE "B-Imprime1" ADJUST

oTmr1:=TTimer():New( 700,{|| nSw1++ ,;
iif( nSw1 == 0, oBmp:SetBMP( "B-Imprime2" ), ), ;
iif( nSw1 == 1, ( oBmp:SetBMP( "B-Imprime1" ), nSw1:= -1 ), ) } )
oTmr1:Activate()

REDEFINE BUTTON oBtn ID 110 OF oDlg;
ACTION ( GeneraLST(nOp,mTot),oDlg:End() )

REDEFINE BUTTON oBtn ID 111 OF oDlg;
ACTION ( oDlg:End() )

ACTIVATE DIALOG oDlg CENTER
oTmr1:End()

Return Nil

Posted: Wed Nov 26, 2008 2:11 pm
by jrestojeda
Hola amigo,
Prueba lo siguiente:

Code: Select all

REDEFINE RADIO nOp ID 101,102,103,104,105 OF oDlg ; 
   ON CHANGE(nOp,Inter)

Code: Select all

Function PongoFoco(nOp,Inter)
IF nOp=5
   Inter:SetFocus()
ENDIF
Return nil
Es lo mismo que postea SGS pero llamando una función que lo hace, es basicamente lo mismo. Cualquiera de las dos opciones debería funcionar sin problemas.

Saludos, desde Argentina, Esteban.

Posted: Wed Nov 26, 2008 2:39 pm
by acuellar
Gracias amigos

Probé de ambas formas y no funciona, se queda siempre en el RADIO 5
tengo que pulsar la tecla TAB para colocarlo en el GET.

necesito mas ayuda

Saludos

Adhemar

Posted: Wed Nov 26, 2008 3:09 pm
by jrestojeda
Hola.
Prueba la función asi:

Code: Select all

Function PongoFoco(nOp,Inter) 
IF nOp=5 
   nOp:oJump:=Inter
   Inter:SetFocus()
ENDIF 
Return nil 
Espero te sirva.
Saludos.

Posted: Wed Nov 26, 2008 3:12 pm
by jrestojeda
Ahh...

Es porque no estás usando una variable...

Prueba definir el Radio asi:

Code: Select all

REDEFINE RADIO nOp VAR vOp ID 101,102,103,104,105 OF oDlg ; 
   ON CHANGE(vOp,Inter)
Supongo que ahi tiene que andar sin problemas.
Saludos, Esteban.

Re: Como poner el Focus a un GET

Posted: Wed Nov 26, 2008 4:16 pm
by Marcelo Via Giglio
Hola,

en lugar de inter:setfocus(), prueba inter:PostMsg( WM_RBUTTONDOWN )

saludos

Marcelo

Posted: Wed Nov 26, 2008 6:01 pm
by ADBLANCO
prueba con:

__Keyboard(CHR(VK_TAB))

0

oControl:oJump := oGet1

donde ocontrol es el objeto donde estas

Re: Como poner el Focus a un GET

Posted: Wed Nov 26, 2008 6:16 pm
by Marcelo Via Giglio
Hola,

prueba tambien inter:PostMsg( WM_SETFOCUS ) , creo que es mas adecuado

saludos

Re: Como poner el Focus a un GET

Posted: Wed Nov 26, 2008 7:13 pm
by acuellar
Gracia a todos,
Son muy buenos.

Me funcionó con oGet:PostMsg(WM_RBUTTONDOWN), ya me estaba rindiendo.

Una nueva ayuda. Se puede hacer saltar en DTPICKER del DIA al MES y del MES al AÑO sin necesidad de pulsar el punto "." o la Slash "/" solo escribiendo 251108

Muchisimas gracias por su ayuda

Saludos

Adhemar