Dans les exercices qui ont jalonné ce cours, nous avons croisé, sans nous y arrêter, un certain nombre de propriétés gérant la couleur des différents contrôles : ForeColor, BackColor, etc.
Ce qu’il faut savoir, lorsqu’on passe une instruction pour affecter une valeur à l’une de ces propriétés, c’est qu’il existe pas moins de trois systèmes de couleurs en Visual Basic, systèmes que vous pouvez utiliser indifféremment.
les huit couleurs de base, gérées par VB lui-même. Vous en trouverez la liste complète dans l’aide, ainsi que les Constantes VB qui désignent ces couleurs. Cela donnera des instructions du genre :
Form1.BackColor = VbBlack
Les seize couleurs de la palette, accessibles par la fonction QBColor(i), i désignant bien entendu le code de la couleur voulue. Là aussi, il suffit d'aller voir l’aide pour obtenir la liste des couleurs disponibles. Par exemple, pour mettre la Form en vert clair (c'est immonde, mais tant pis) :
Form1.BackColor = QbColor(10)
les 16 millions de couleurs du web. Là, attention, il y a deux manières de procéder. La première est celle qu'emploie spontanément VB, et elle est calquée sur le principe du code HTML : trois fois deux caractères, représentant respectivement le codage de 256 niveaux de rouge, de vert et de bleu, en hexadécimal (si vous n'avez rien compris à cette phrase, lisez celle qui suit. Si vous l'avez comprise, lisez quand même cella qui suit).
Le problème est que VB s'amuse à bidouiller tout seul ce codage à six caractères, exigeant qu'il soit précédé par les signes "&H" et s'amusant à l'occasion à faire sauter certains des six caractères susnommés. Alors, un bon conseil, en Visual Basic, évitez comme la peste le codage HTML et utilisez à la place la fonction RGB. Celle-ci fonctionne exactement sur le même principe, mais les doses de rouge, de vert et de bleu, fournies en argument, sont spécifiées sous forme d'entiers. Ainsi, pour repeindre la Form en rouge vif, on écrira :
Form1.Backcolor = RGB(255, 0, 0)