Página 2 de 2

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

Enviado: 13 Mai 2010 19:32
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.

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

Enviado: 13 Mai 2010 21:31
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"

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

Enviado: 16 Mai 2010 19:04
por Gilberto M Silva
vlu, resolvido, ficou show de bola :|<