FUNÇÃO oTB:colorRect()

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

FUNÇÃO oTB:colorRect()

Mensagem por Hasse »

Boa tarde colegas.

Já um bom tempo de tentei compilar com o Harbour, e na época abandonei a intenção de migrar por um simples problema na função oTB:ColorRect() que eu uso muito no TBrowse().

Hoje baixe e instalei o Harbour 3.2 e problema ainda persiste. Desconfio que algo está errado. Vejam o código usado:

Código: Selecionar todos

cor              := "W /N , N/W , W+/B , N/W , W/R  , W/N, R/W, N/W, R/W, N/W"
oTB            := TBROWSEDB(03,00,22,79)
oTB:colorspec  := cor
...
...
...
   oTB:dehilite()
   IF FG = "0" .OR. (FG = "1" .AND. Q_COMP < 0) .OR. (FG="1" .AND. QUANT < 1)
      oTB:colorRect({oTB:RowPos,1,oTB:RowPos,oTB:ColCount}, {4,5} )
   ELSE
      oTB:colorRect({oTB:RowPos,1,oTB:RowPos,oTB:ColCount}, {2,3} )
   ENDIF
   oTB:hilite()
   oTB:RefreshCurrent()
Este código acima não alterna as cores da linha como acontece no xHarbour.

Há alguma solução para este comportamento ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

FUNÇÃO oTB:colorRect()

Mensagem por janio »

Comigo funciona!

Faço assim:

Código: Selecionar todos

oBrw:headsep   := chr (194) + chr (196) 
oBrw:ColSep    := chr( 179 )
oBrw:FootSep   := chr (193) + chr (196) 	
oBrw:colorspec := "N/W*,W+/B,N/w,N/W*+,g+*/ww+*"

...

oBrw:ForceStable()

While ( .t. )

       // para deixar selecionada toda a linha 
      oBrw:colorrect({oBrw:rowpos,1,oBrw:rowpos,oBrw:colCount},{Iif(OrdKeyNo()%2==0,1,3), 1}) // zebrado
      do While ( !oBrw:stabilize() ) ; Enddo
      oBrw:colorrect({oBrw:rowpos,1,oBrw:rowpos,oBrw:colCount},{2,2}) // esta com o cursor

     ...
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

FUNÇÃO oTB:colorRect()

Mensagem por Hasse »

Boa tarde Janio.

Correto no SET inicial

Mas se desejo trocar a cor por outra, em virtude de um detalhe especial ela não muda.

Veja no meu código IF / ELSE / ENDIF.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Responder