Alteração de cor conforme uma condição

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Re: Alteração de cor conforme uma condição

Mensagem por Gilberto M Silva »

olá caros colegas, estou com uma tenebrese, tenho que mudar a cor do campo onde o cursor estiver piscando:por exemplo, abri o "cadastro de produtos" para alterar ou cadastrar um produto, a medida que o cursor for se deslocando de um campo para outro o campo fica vermelho por exemplo, eu abro para cadastrar um produto novo, todos os campos estão brancos modusque na medida que o cursor muda de campo ele fica vermelho e o campo anterior volta a ser banco, é como se o cursor fosse vermelho e contaminace todo o campo.
Att. eu.
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Alteração de cor conforme uma condição

Mensagem por alxsts »

Olá!

Você pode fazer isso através do comando SET COLOR ou da função SetColor(). Tanto o comando como a função recebem como parâmetro uma string contendo pares de cores separados por vírgulas. Ex:

Código: Selecionar todos

SetColor( "B/W,W+/R,B/W,N/W,B/W" )
Dentro dessa string, cada par de cores tem uma finalidade:
1 - Standard (padrão) Todas as saídas de comandos e funções para a tela
2 - Enhanced (destacado) Cor em que são exibidos os GETs, PROMPTS, menus e ítens de ACHOICE() ativos
3 - Border (borda) Área em volta da tela
4 - Background (fundo) Não suportado
5 - Unselected (não selecionado) GETs não selecionados
Teste o exemplo:

Código: Selecionar todos

#include "Box.Ch"
#include "Inkey.Ch"

LOCAL nCod, cNome, nQuant, nVlUnit, GetList := {}

   SetColor( "B/W,W+/R,B/W,N/W,B/W" )

   CLS

   DispBox( 08, 05, 18, 75, B_SINGLE + " ", "W+/W" )
   @18, 58 Say " [Esc] para Sair "

   WHILE LastKey() != K_ESC

      nCod    := 0
      cNome   := Space(30)
      nQuant  := .000
      nVlUnit := .00

      @10, 10 Say "Codigo   :" Get nCod     Pict "9999"
      @12, 10 Say "Nome     :" Get cNome    Pict "@!"
      @14, 10 Say "Quantid. :" Get nQuant   Pict "9999.999"
      @16, 10 Say "Vl. Unit.:" Get nVlUnit  Pict "9999.99"

      READ

   ENDDO

   __Quit()
Outra forma é selecionar as cores no próprio GET fornecendo o par de cores, onde a primeira é a padrão e a segunda é para quando o GET estiver ativo:

Código: Selecionar todos

      @10, 10 Say "Codigo   :" Get nCod     Pict "9999" COLOR "B/W,W+/R"
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Gilberto M Silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 230
Registrado em: 13 Mar 2007 18:00
Localização: Natal-RN / Parelhas(RN) / Natal(RN)
Contato:

Re: Alteração de cor conforme uma condição

Mensagem por Gilberto M Silva »

vlu, resolvido, ficou show de bola :|<
Gilberto[]
A cada conversasão realizada conquistamos mais amigos, isto é um lucro inestimável
Clip5.2 DBFCDX
marcolinosilva@click21.com.br gmarcolinosilva@hotmail.com / Skype:gilberto.marcolino
Responder