Página 1 de 1
Cor de Fundo
Enviado: 19 Out 2016 22:43
por Abel
Ola, pessoal.
Gostaria de saber se tem uma forma de eu alterar a cor do fundo da linha onde o cursor estiver,
sem usar o comando color, parecido com a FUNCAO SOMBRA() mas que eu tivesse como mudar o fundo
e a cor da letra permanecesse a mesma.
Desta forma nao precisaria mudar a cor pelo set color e usar o @ say para reexibir a linha.
Desde ja agradeço,
ABEL
COR DE FUNDO
Enviado: 20 Out 2016 00:43
por Vlademiro
O say tem a cláusula color
COR DE FUNDO
Enviado: 20 Out 2016 07:41
por Toledo
Amigos, poderia também usar as propriedades (:colorSpec) do objeto GET, seja este exemplo que está na documentação do Harbour:
Código: Selecionar todos
// The example compares the creation of a single Get
// using command oriented and object oriented syntax
PROCEDURE Main
LOCAL cString:= "Testing Gets "
LOCAL bBlock
@ 2, 2 SAY "String 1" ;
GET cString ;
COLOR "N/BG,W+/B" ;
VALID !Empty( cString ) ;
PICTURE "@K"
READ
bBlock := {|x| IIf( x==NIL, cString, cString := x ) }
@ 4, 2 SAY "String 2"
oGet := Get():new()
oGet:row := Row()
oGet:col := Col() + 1
oGet:block := bBlock
oGet:name := "cString"
oGet:picture := "@K"
oGet:colorSpec := "N/BG,W+/B"
oGet:postBlock := {|o| ! Empty(o:varGet()) }
oGet:display()
ReadModal( {oGet} )
RETURN
Abraços,
COR DE FUNDO
Enviado: 20 Out 2016 12:34
por Abel
ola pessoal, agradeço as respostas.
Não sei se fui claro, posso ate estar "viajando nas ideias ..."
a ideia seria mudar a cor do fundo da linha onde o cursor estiver
antes de um inkey(0) sem reexibir os @ say
exemplo:
@ row(), 0 ate row(), maxcol()
mudar o fundo mantendo todas as letras na mesma cor
Desde ja agradeço.
Abel
COR DE FUNDO
Enviado: 20 Out 2016 15:00
por asimoes
Abel,
Use COLORWIN(nLi, nCi, nLf, nCf, cCor)
Cor de Fundo
Enviado: 05 Nov 2016 14:30
por Abel
Ola, colorwin funcionou bem.
o problema é que na mesma linha tenho cores de letras diferentes e
no colowin tenho que definir a cor da letra e do fundo, e neste caso muda a area inteira.
queria mudar apenas o fundo independente da cor da letra, será que existe este recurso ?
Agradeço a ajuda,
Abraços,
ABEL
Cor de Fundo
Enviado: 05 Nov 2016 18:13
por JoséQuintas
Avalie melhor o que quer fazer.
Se vai mostrar algo na tela, vai ter que usar cor.
Então é mostrar já na cor que deve ser.
Se quer textos personalizados, de cores diferentes, de repente funções pra isso.
Código: Selecionar todos
FUNCTION MostraStatus( cText )
@ 2, 10 Say Padc( cText, 20 ) COLOR W/R
RETURN NIL
FUNCTION MostraScore( cText )
@ 4, 10 SAY Padc( cText, 20 ) COLOR W/GR
RETURN NIL
Dessa forma, vai trabalhar no fonte sem usar cores, e sem se preocupar com o posicionamento.
Código: Selecionar todos
MostraStatus( "ALTERANDO" )
MostraScore( "JOGO INICIADO" )
Aproveitando: de certa forma, é isso que se faz em ambiente GUI, onde o fonte deveria não depender de coordenadas, como se cada função fosse um componente GUI diferente, sendo responsável pela "sua janelinha".