Sem problemas;

 

É isso mesmo, o dfEtapa é quem recebe o FOCUS forçado. Vou te mandar os
códigos mais completos. No dfCodFilialOQ, é feita a leitura de um código de
barras e dependendo do resultado, é FOCUS é forçado para o dfEtapa. Eu nunca
testei colocando o SalPostMsg fora do SAM_Validade, mas acredito que só
funcione ai.

 

Espero que ajude...

 

Data Field: dfCodFilialOQ

            Message Actions

                        On SAM_Validate

                                   If Not SalIsNull( hWndItem )

                                               If SalStrLength(
SalNumberToStrX( dfCodFilialOQ, 0 ) ) >= 9

                                                           Set sEtiqueta
= SalFmtFormatNumber( dfCodFilialOQ, '0000000000' )

                                                           Set dfCodFazenda
= SalStrToNumber( SalStrMidX( sEtiqueta, 2, 5 ) )

                                                           Set dfCodFilialOQ
= SalStrToNumber( SalStrLeftX( sEtiqueta, 2 ) )

                                                           Set dfTalhao
= SalStrToNumber( SalStrRightX( sEtiqueta, 3) )

                                                           !

                                                           If Not
SalSendMsg( dfCodFazenda, SAM_Validate, wParam, lParam )

 
Return VALIDATE_Cancel

                                                           Else

                                                                       Call
SalPostMsg( dfEtapa, SAM_SetFocus, 1, 0 )

                                               Else If SalStrLength(
SalNumberToStrX( dfCodFilialOQ, 0 ) ) <= 2

                                                           Return
fValida_Filial_OQ(  )

                                               Else

                                                           Call
SalClearField( hWndItem )

                                                           Return
VALIDATE_Cancel

                        On SAM_KillFocus

                                   If SalIsNull( dfCodFilialOQ )

                                               Set dfCodFilialOQ =
fSegObtemCodigoFilial(  )

                        On VTM_KeyUp

                                   If ( wParam = VK_Enter ) And (
VisGetKeyState( VK_Control ) & KS_Down )

                                               Call SalSetFieldEdit(
hWndItem, FALSE )

                                               !

                                               If Not SalSendMsg(
picSelFilialOQ, SAM_Click, wParam, lParam )

                                                           Call
SalSetFieldEdit( hWndItem, TRUE )

 

 

 

Data Field: dfEtapa

            Message Actions

                        On SAM_SetFocus

                                   If wParam = 1

                                               Call SalSendMsg( dfEtapa,
SAM_Validate, 0, 0 )

                                   ! If SalIsNull( dfEtapa )

                                               Set dfEtapa = 1

                                               Call SalSetFieldEdit(
dfEtapa, TRUE )

                                   Call SalSetFocus( dfEtapa )

                        On SAM_Validate

                                   Set dfIntQueima = NUMBER_Null

                                   !

                                   If Not SalIsNull( hWndItem )

                                               Return fValida_OQ(  )

                                   Else

                                               Return VALIDATE_Ok

 

-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome
de Sergio Yoshimura
Enviada em: segunda-feira, 10 de dezembro de 2007 16:20
Para: [email protected]
Assunto: RE: [sqlwin] Piscar o cursor 

 

Olá Augusto, pra você o campo dfEtapa é o campo que vai receber o focus? Eu
tentei isso e não consigo, pode confirmar se está correto.

Obrigado pela ajuda e desculpe-me não consigo te ajudar na sua questão.

Sergio

 

De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome
de Augusto
Enviada: segunda-feira, 10 de Dezembro de 2007 13:03
Para: [email protected]
Assunto: RES: [sqlwin] Piscar o cursor 

 

Eu tive esse problema e resolve assim…

 

 

No campo em que o focus esta na momente em que chamo o DIALOG:

 

On SAM_Validate

            Call SalPostMsg( dfEtapa, SAM_SetFocus, 1, 0 )

 

 

 

 

 

 

No campo em que quero que recebe o focus forçado:

On SAM_SetFocus

            If wParam = 1

                        Call SalSendMsg( dfEtapa, SAM_Validate, 0, 0 )

            Call SalSetFocus( dfEtapa )      

Responder a