RefreshLine() Não funciona neste caso???

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Cezar
Usuário Nível 3
Usuário Nível 3
Mensagens: 189
Registrado em: 27 Mai 2006 14:03

RefreshLine() Não funciona neste caso???

Mensagem por Cezar »

Boa tarde,

No codigo abaixo estou usando 2 funcoes:
xGETFOCUS para pintar a linha do browse com o foco e,
xLOSTFOCUS para informar que o foco Não está mais no Browse.

Nesta 2 funçoes, se uso RefreshLine() para atualizar a Linha, DÀ ERRO.

Ja olhei hBrowse mas não achei o problema, não sei se o problema é do meu codigo,
ou existe outra maneira de trabalhar com o foco do browse?

Agradeço a ajuda.
v_cez@...


@ 005,005 BROWSE oBrowse DATABASE OF oDlg ;
SIZE 590,300 ;
FONT oFontBrw ;
STYLE WS_TABSTOP + WS_VSCROLL + WS_HSCROLL ;
ON KEYDOWN {|o,Key| Browse_Key(o,Key,aBtn[1]) } ;
ON CLICK {|o,Key| Browse_Click(o,Key) } ;
ON GETFOCUS {|| xGetFocus(oBrowse) } ;
ON LOSTFOCUS {|| xLostFocus(oBrowse) }

ADD COLUMN {|| CodCli } TO oBrowse HEADER 'Codigo' EDITABLE
ADD COLUMN {|| Nome } TO oBrowse HEADER 'Nome' LENGTH 30
EDITABLE
ADD COLUMN {|| CNPJ } TO oBrowse HEADER 'CNPJ' EDITABLE

oBrowse:Alias := "Clientes"
oBrowse:lEsc := .T.
// oBrowse:htbColor := cRgb('RED')
// oBrowse:bColorSel := cRgb('BRIGHTBLUE')

nTop := 320
nLeft += 29
@ nLeft,nTop BUTTONEX aBtn[5] CAPTION "" ;
SIZE 28,26 ;
STYLE WS_TABSTOP + WS_DLGFRAME ;
BITMAP oBmp_5:Handle ;
TOOLTIP "Incluir Cliente" ;
ON CLICK {|| Edita( .T., oBrowse ) }

ACTIVATE DIALOG oDlg
DbCloseAll()
RETURN Nil

STATIC FUNCTION xGetFocus(oBrowse)
oBrowse:htbColor := cRgb('RED')
oBrowse:bColorSel := cRgb('BRIGHTBLUE')
// oBrowse:RefreshLine() DÁ ERRRO !!!
oBrowse:Refresh()
RETURN (.F.)

STATIC FUNCTION xLostFocus(oBrowse)
oBrowse:htbColor := cRgb('LIGHTGRAY')
oBrowse:bColorSel := cRgb('LIGHTGRAY')
// oBrowse:RefreshLine() DÁ ERRO !!!
oBrowse:Refresh()
RETURN (.F.)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: RefreshLine() Não funciona neste caso???

Mensagem por sygecom »

Não fiz o teste, tenta mudar apenas as chamadas e Habilitar os refreshline()

Código: Selecionar todos

ON CLICK {|o,Key| Browse_Click(o,Key) } ;
ON GETFOCUS {|o,Key| xGetFocus(o,Key) };
ON LOSTFOCUS {|o,Key| xLostFocus(o,Key) };
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Cezar
Usuário Nível 3
Usuário Nível 3
Mensagens: 189
Registrado em: 27 Mai 2006 14:03

Re: RefreshLine() Não funciona neste caso???

Mensagem por Cezar »

Leonardo,

Fiz como sugeriu, mas continua o erro:

Error BASE/1081 Erro nos parƒmetros: +
Called from hbrowse.prg->HBROWSE:REFRESHLINE(1829)
Called from prg910.PRG->BRWLOSTFOCUS(24)
Called from PRG052.PRG->(b)PRG052(47)
Called from hbrowse.prg->HBROWSE:ONEVENT(291)
Called from ->HWG_DLGBOXINDIRECT(0)
Called from hdialog.prg->HDIALOG:ACTIVATE(156)
Called from errorsys.prg->ERRORPREVIEW(154)

A linha 1829 é exatamente igual ao METHOD LINEUP() LINEDOWN()

Bem o jeito é continuar pesquisando..

Grato
v_cez@yahoo.com.br
Cezar
Usuário Nível 3
Usuário Nível 3
Mensagens: 189
Registrado em: 27 Mai 2006 14:03

Re: RefreshLine() Não funciona neste caso???

Mensagem por Cezar »

Ola,

Se colocar:
ON INIT {|| oBrowse:SetFocus() }

o RefreshLine() Funciona !!

v_cez@yahoo.com.br
Responder