Clipper On Line • Ver Tópico - ongotfocus dúvida

ongotfocus dúvida

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

ongotfocus dúvida

Mensagempor Paulao » 14 Mai 2019 13:01

Bao tarde amigos, tenho uma duvida do ONGOTFOCUS.

Tenho o seguinte TEXTBOX

      DEFINE TEXTBOX oGet_cnfj_cai
         ROW   170
    COL   720
    WIDTH   147
         FONTNAME "Tahoma"
         FONTSIZE 10
         TOOLTIP "Digite o CNPJ/CPF DO PARCEIRO"
         UPPERCASE  .T.
         MAXLENGTH 14
         VALUE x_cnfj_cai
         ON GOTFOCUS poe_cnpj(form_cai.oGet_parc_cai.value)     
      END TEXTBOX


Minha intenção era quando o textbox entrasse em foco ele chamava uma funcão para buscar o CPF/CNPJ do cliente

Func poe_cnpj(par1)
cPesq := par1
dbselectarea('parnomad')
ordsetfocus('nome_par')
dbseek(cPesq)
if eof()
    Msgbox("Cliente não encontrado")
else
    msgbox("Cliente encontrado")
endi
form_cai.oGet_hist_cai.setfocus
return(nil)


O problema é que quando a função é chamada ela volta o foco para o textbox novamente que chama a funcão novamente formando m loop infinito, tentei mudar o foco para outro textbox após o textbox que chama a função mas não funciona assim, o foco volta para o textbox que chama a função. o que da pra fazer neste caso
Paulao
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 183
Data de registro: 09 Jul 2004 11:03
Cidade/Estado: Franca
Curtiu: 0 vez
Mens.Curtidas: 1 vez

ongotfocus dúvida

Mensagempor rubens » 14 Mai 2019 17:30

Só um chute
Coloque a função no On init do Form ou então depois do end do define window..

Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar de usuário

rubens
Colaborador

Colaborador
 
Mensagens: 1518
Data de registro: 16 Ago 2003 09:05
Cidade/Estado: Nova Xavantina - MT
Curtiu: 77 vezes
Mens.Curtidas: 104 vezes

ongotfocus dúvida

Mensagempor Adalberto » 17 Mai 2019 10:05

paulao, buenos dias

Al final de la función de búsqueda en RETURN(NIL) debe ser RETURN .T.

Que te vaya bien.

Saludos, Adalberto.
Adalberto
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 343
Data de registro: 01 Set 2007 01:09
Cidade/Estado: Santa Cruz de la Sierra - Bolivia
Curtiu: 0 vez
Mens.Curtidas: 12 vezes

ongotfocus dúvida

Mensagempor carlaoonline » 20 Jun 2022 16:20

Boa tarde!

ON GOTFOCUS

MUITO CUIDADO COM ESSE PARÂMETRO...

Se usar:

ON GOTFOCUS  dbSelectArea("CLIENTES") 


e lá pela tantas, com outro arquivo aberto e selecionado em outra área qualquer... tudo pode mudar após um simples MsgBox.

A qualquer comando de MsgBox, wapi_MessageBoxTimeout, etc... ele dá um SELECT no CLIENTES e esquece o arquivo que vc estava até antes da sua mensagem ser mostrada. (No caso de estar no mesmo Form)

Ai voce ACHA que esta navegando em um arquivo e dê-lhe a bagunçar outro sem saber, pois após o MsgBox o foco foi para o arquivo CLIENTES.


No meu caso, depois de apanhar um pouco e xingar o Harbour, entendi o que estava acontecendo aqui...

daí resolvi assim...

nAreaAtual:=Select()
MSGBOX("Arquivo em uso. bla bla bla...") // Aqui, ele automaticamente um Select no CLIENTES...
Select(nAreaAtual)

Depois criei uma Funcao chamada Alerta, que faz esse Re-select ao sair da função.
Avatar de usuário

carlaoonline
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 190
Data de registro: 24 Ago 2014 22:38
Cidade/Estado: Porto Alegre-RS
Curtiu: 73 vezes
Mens.Curtidas: 22 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 15 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro