DEFININDO COR DA FONTE

 Tópico anterior Próximo tópico Novo tópico

DEFININDO COR DA FONTE

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#444798 - 26/02/2015 08:33:01

HUBER
TANABI
Cadast. em:Março/2014


Amigos !

Tenho uma tela de parâmetros do sistema onde tenho várias opções que o usuário informa "Sim" ou "Não" para cada opção que melhor achar necessário.

Que gostaria é: Tem como eu definir o "Sim" dor azul e o "Não" cor vermelha.

Existe algum evento geral do formulário, alguma função simples que englobam todos os campos ao mesmo tempo.

Huber Fábio
Pratic Sistemas Informática Tanabi Ltda

#444812 - 26/02/2015 19:57:03

EPISCOPAL
VARZEA GRANDE
Cadast. em:Maio/2009


??? não entendi bem! voce se refere a label ou commandbutton?

____________________________________________________________________
Episcopal Studios




#444820 - 27/02/2015 08:48:59

HUBER
TANABI
Cadast. em:Março/2014


Olá bom dia !

Me refiro a textbox, Tenho uma parametrização no sistema onde o usuário informa "Sim" ou "Não" pela sua necessidade  Ex abaixo

Cadastro de Parâmetros:

Faz isso "SIM"
Faz isso "NÃO"
Faz isso "NÃO"
Faz isso "SIM"

Gostaria de que a fonte do textbox fosse azul para "SIM" e vermelho para "NÃO"



Huber Fábio
Pratic Sistemas Informática Tanabi Ltda

#444821 - 27/02/2015 09:32:59

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Última edição em 27/02/2015 09:35:40 por PEGUDO

Text1.ForeColor = vbGreen

Veja em:
http://stackoverflow.com/questions/1057094/how-do-i-change-the-font-color-in-vb6
Então, se seu controle "SIM/NÃO" for um checkbox, coloque dentro do código checkChanged, tipo:

Se checked = True então
    Text1.ForeColor = vbGreen
Senão
    Text1.ForeColor = vbRed
Fim Se

Veja em:
https://msdn.microsoft.com/pt-br/library/6ys84h69(v=vs.90).aspx?sentenceGuid=801c1b26ef633dc9bf0e53c5895824bd#mt9


"Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás"

#444824 - 27/02/2015 09:40:28

HUBER
TANABI
Cadast. em:Março/2014


Olá.

Minha necessidade seria se existe uma forma (função) para fazer isso em modo geral na tela e não campo em campo, pois tenho mais de 100 textbox nessa tela, ou se realmente a única forma seria campo em campo usando eventos como change, gotfocus, etc.

Huber Fábio
Pratic Sistemas Informática Tanabi Ltda

#444825 - 27/02/2015 09:45:40

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Última edição em 27/02/2015 09:46:05 por PEGUDO

Sim.
Vou te confessar que tem uns 8 anos que não trabalho com o VB6 e não lembro de muita coisa, mas você poderia fazer função, passando o controle como um objeto e o sim ou o não, por exemplo:

Sub tratarFonte(ByVal txt As Object, ByVal valor As Boolean)
    Select Case valor
        Case True
            txt.ForeColor = vbGreen
        Case False
            txt.ForeColor = vbRed
    End Case
End Sub


Para utilizar:
tratarFonte(TextBox1, Valor booleano True ou False)



"Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás"

#444826 - 27/02/2015 10:03:33

HUBER
TANABI
Cadast. em:Março/2014


Olá PEGUDO

Entendi sua função OK, minha dúvida é, tenho que tratar isso campo por campo chamando a função por exemplo no evento change, gotfocus, etc. Gostaria (se existe claro) algo que colocasse diretamente em algum evento do  formulário onde ele passará já todos os campos existentes fazendo isso.

Huber Fábio
Pratic Sistemas Informática Tanabi Ltda

Resposta escolhida #444829 - 27/02/2015 10:29:09

PEGUDO
RIO DE JANEIRO
Cadast. em:Março/2009


Última edição em 27/02/2015 10:33:00 por PEGUDO

Como eu falei, tem mais de 8 anos que não mexo em VB6, mas veja se é isso:
    Dim e As Control
    
    For Each e In Me.Controls
        If (TypeOf e Is TextBox) Then
            MsgBox e.Name + " = " + e.Text
        End If
    Next


ou

For Each Control In Form1.Controls
    If TypeName(Control) = "TextBox" Then
        Control.Text = ""
    End If
Next


No caso, este é o loop entre os objetos do tipo TextBox. Daí você colocaria a função dentro do loop.

Espero ter ajudado.


"Às vezes, para poder andar pra frente, o homem deve deixar tudo para trás"

#444832 - 27/02/2015 13:10:10

HUBER
TANABI
Cadast. em:Março/2014


Última edição em 27/02/2015 13:11:45 por HUBER

Olá PEGUDO, valeu ! fiz conforme abaixo

Módulo de Funções

Public Function CorFonte()
Dim e As Control
   For Each e In frmFRM00557.Controls
     If (TypeOf e Is TextBox) Then
        If e.Text = "Sim" Then
           e.ForeColor = vbBlue
        ElseIf e.Text = "Não" Then
           e.ForeColor = vbRed
        Else
           e.ForeColor = vbBlack
        End If
     End If
   Next
End Function


Evento do Form (apesar de nunca ter usado esse evento no form, coloquei nele pois a cada alteração passa por ele)

Private Sub Form_Paint()
CorFonte
End Sub



Huber Fábio
Pratic Sistemas Informática Tanabi Ltda

 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por HUBER em 27/02/2015 13:45:25