Mudar cor do GET inativo

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

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Mudar cor do GET inativo

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mudar cor do GET inativo

Mensagem 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 791 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.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Mudar cor do GET inativo

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder