Tengo un problema con los gets que usan un botón para buscar.
El problema es que cuando vuelve de la búsqueda se queda en su casilla hasta que se de enter o flecha abajo. Bueno eso no es muy molesto, pero si el siguiente get tiene también un botón y lo pulsamos,
![Laughing :lol:](./images/smilies/icon_lol.gif)
Code: Select all
*-------------------------------------------------------------------------------
function CtrCliSer( nEvent, oDClSer, oDServi, oDClie )
*-------------------------------------------------------------------------------
local oDlg
Local oGet[4]
ASIZE(aDatSer,CLIS->(Fcount()))
AFILL(aDatSer,.t.)
CLIS->(IniCampo(aDatSer))
CLIS->(TabCampo(aDatSer,0))
if nEvent == ID_ALT
CLIS->(IniCampo(aDatSer))
EndIf
DEFINE DIALOG oDlg RESOURCE "DLGMCLSER" FONT oFont
REDEFINE GET oGet[1] VAR aDatSer[1] ID 201 PICTURE "99999" ;
BITMAP "BUSCAR1" ACTION (aDatSer[1]:= BusSCli(oDClie,oDlg),;
oGet[1]:Refresh() ) ;
Valid CliSerN(oDlg,nEvent);
OF oDlg UPDATE
REDEFINE GET oGet[2] VAR aDatSer[2] ID 202 PICTURE "9999" ;
BITMAP "BUSCAR1" ACTION (aDatSer[2]:= BusSer(oDServi,oDlg),;
oGet[2]:Refresh()) ;
Valid SerCliN(oDlg,nEvent);
OF oDlg UPDATE
REDEFINE GET oGet[3] VAR aDatSer[3] ID 203 PICTURE "@K!" OF oDlg UPDATE
REDEFINE GET oGet[4] VAR aDatSer[4] ID 204 PICTURE "99,999.99" OF oDlg UPDATE
REDEFINE BUTTON ID 101 OF oDlg ;
ACTION ALTASERVI(nEvent), oDlg:End()
REDEFINE BUTTON ID 102 OF oDlg ;
ACTION CLIS->(IniCampo(aDatSer)), oDlg:aControls[ 1 ]:SetFocus(), oDlg:UpDate()
REDEFINE BUTTON ID 103 OF oDlg CANCEL ACTION oDlg:End()
ACTIVATE DIALOG oDlg ON PAINT oDlg:aControls[ 1 ]:SetFocus() CENTERED
return( nil )
Espero vuestras noticias