2009-06-29 13 views
1

J'ai du code qui affiche les valeurs d'un ensemble d'enregistrements. Si la valeur est inférieure à 8000, je souhaite changer la couleur du texte affiché. J'ai essayé ceci:Comment changer la couleur de la police dans VB6?

If (recordset(1).Value) < 80000 Then 
    font.color = &HFFEFEF 
End If 

Mais cela n'a pas fonctionné. Comment fait-on ça?

+0

À quoi sert la police? et quel contrôle utilisez-vous pour afficher les valeurs dans le jeu d'enregistrements? – Rony

+2

@Gopal, si la réponse Raven corrigé votre problème s'il vous plaît marquer comme la réponse (coche sous la zone de vote) –

+0

Moins de 8000 ou 80000? –

Répondre

2

Vous ne précisez pas comment vous affichez les informations, mais si vous utilisez une zone de texte, vous changé la couleur du texte pour répondre à ce corbeau via la propriété ForeColor

Text1.ForeColor = &HFFEFEF 
+0

Merci, maintenant fonctionne correctement – Gopal

6

Addon.

Vous pouvez également utiliser:

Text1.ForeColor = vbBlack 

'vbBlack, vbWhite, vbBlue, vbRed, vbGreen, vbYellow, vbMagenta, vbCyan 

et

Text1.ForeColor = RGB(255, 0, 0) 'red 

0, 0, 0 - black 
255, 255, 255 - white 
255, 0, 0 - red 
0, 255, 0 - green 
0, 0, 255 - blue 
255, 255, 0 - yellow 
0, 255, 255 - cyan 
255, 0, 255 - magenta 
0

Modification du forecolor de la zone de texte/étiquette à l'intérieur de chaque conditions peuvent faire l'affaire. Par exemple, je veux entrer un entier et je veux savoir si l'entier que j'ai entré est ODD ou EVEN.

L'affaire est:
Si l'entier est un ODD, il affiche un texte en rouge sur l'étiquette, autre si elle est encore, il affiche en bleu sur l'étiquette.

Prenez cet exemple:

Numéro d'entrée: text1
Sortie: label1

code:

if (val(text1) mod 2) = 1 then 
     label1 = "ODD" 
     label1.Forecolor = vbRed 
else 
     label1 = "EVEN" 
     label1.Forecolor = vbBlue 
end if 

* mod est une fonction de l'opérateur modulo utilisé pour prendre le reste du texte1 divisé par 2?

Questions connexes