Página 1 de 1

Mudar cor do GET inativo

Enviado: 14 Nov 2012 18:48
por JoséQuintas
Hoje a getsys deixa os gets de acordo com o configurado com as cores.
Quando tem WHEN .f., o get fica... com a cor dos gets.
Tem algum modo simples de deixar a cor como normal quando estiver WHEN .f. em tempo de execução do get?

@ 1, 0 GET mSimNao
@ 2, 1 GET mOutroGET WHEN mSimNao == "S"

Obs.A quinta cor do setcolor() deixa somente o get ativo em cor diferente. Me refiro a poder deixar todos os gets "digitáveis" na cor diferente, menos os que estiverem when .f.

Mudar cor do GET inativo

Enviado: 14 Nov 2012 21:50
por Pablo César
Oi José, você quis dizer como diferenciar a cor todos os GETs inativos invalidados pela condição WHEN ? Seria algo assim ?
Tela69.PNG
Tela69.PNG (9.95 KiB) Exibido 789 vezes
Observe que o Get 1 é o get ativo em azul e os Gets 3 e 4 estão inativos e invalidados pelo When e estão em outra cor (neste caso cinza ou branco não intenso) que os inativos/válidos em cor vermelho.

Se for isso que quer, então bastaria adicionar após a condição do WHEN: SEND COLORSPEC:=<cColor_Diferente>

Veja o código exemplo, como ficaria:

Código: Selecionar todos

REQUEST HB_GT_WIN_DEFAULT

Function Main()
SetMode(25,80)
SetColor("W+/G, BG+/B,,,GR+/R")
Cls
mSimNao:=" "
mOutroGET1:="     "
mOutroGET2:="     "
mOutroGET3:="     "
mOutroGET4:="     "
mOutroGET5:="     "
@ 1, 0 Say "Get1:" GET mSimNao
@ 2, 0 Say "Get2:" GET mOutroGET1 
@ 3, 0 Say "Get3:" GET mOutroGET2 WHEN mSimNao == "S" SEND COLORSPEC := "N/W,N/W"
@ 4, 0 Say "Get4:" GET mOutroGET3 WHEN mSimNao == "S" SEND COLORSPEC := "N/W,N/W"
@ 5, 0 Say "Get5:" GET mOutroGET4
@ 6, 0 Say "Get6:" GET mOutroGET5
Read

Inkey(0)
Return Nil
Espero ter ajudado.

Mudar cor do GET inativo

Enviado: 14 Nov 2012 22:07
por JoséQuintas
Testei aqui, mas não foi.
O send só afeta a montagem do get, e não o andamento.
Uma vez criado, a cor não altera mais.
E não fica vinculado ao WHEN, e sim ao get.

Código: Selecionar todos

CLS
   SET COLOR TO w/n,n/w,,,w/n
   mGet1 := "1"
   mGet2 := "xxxxxxxxxxxxxxxxxxxxx"
   mGet3 := "xxxxxxxxxxxxxxxxxxxx"
   mGet4 := "xxxxxxxxxxxxxxxxxxxx"
   mGet5 := "xxxxxxxxxxxxxxxxxxxxx"
   @ 1, 0 SAY ""
   @ Row()+1, 1 GET mGet1
   @ Row()+1, 1 GET mGet2 WHEN mGet1=="1" SEND COLORSPEC := "W/R,R/W,,,W/R"
   @ Row()+1, 1 GET mGet3 WHEN mGet1=="2" SEND COLORSPEC := "W/BR,BR/W,,,W/BR"
   @ Row()+1, 1 GET mGet4 WHEN mGet1=="3" SEND COLORSPEC := "W/GR,GR/W,,,W/GR"
   @ Row()+1, 1 GET mGet5 WHEN mGet1=="4" SEND COLORSPEC := "W/RB,RB/W,,,W/RB"
   READ
   
Isso resulta em tudo colorido, independente de mget1.