Les couleurs dans PowerBuilder

Cela ne vous aura pas échappé, les couleurs dans PowerBuilder sont disponibles sous différents formats.
Il y a le classique RGB mais aussi le code couleur numérique et des identifiants “nominatifs”.

Le code RGB

C’est le format de code le plus “classique”, il est utilisé dans nombre de langages et se base sur les trois couleurs “fondamentales” composant les couleurs affichées à l’écran d’un ordinateur.

Le rouge (Red, en anglais), le vert (Green…) et le bleu (Blue…) sont en effet présents en diverses proportions dans chaque couleur : le code au format RGB reprend ces proportions.

Par exemple, la couleur rouge est – logiquement – composée de rouge uniquement. La proportion de rouge sera donc au maximum sur cette échelle, à savoir 255. Si vous désirez une fenêtre de couleur rouge, vous pouvez coder ceci (dans l’événement open, par exemple…)

this.backcolor=rgb(255,0,0)

Pour un gris clair, il faudra faire part égale entre chacune des composantes, vous aurez donc

this.backcolor=rgb(192,192,192)

Un jaune sera composé, en informatique, de vert et de rouge. On l’obtiendra donc par un

this.backcolor=rgb(255,255,0)

Toutes les nuances de chaque couleur sont basées sur la distribution des valeurs entre ces trois fondamentales ( encore une fois, il s’agit de couleurs fondamentales en informatique… il en va autrement dans d’autres domaines, la peinture par exemple).

Le code couleur numérique de PowerBuilder

Le code couleur numérique également accepté par PowerBuilder est calculé sur base du code RGB.

En fait la formule est simple :

(valeur du bleu * 256 * 256) + (valeur du vert * 256) + valeur du rouge

= code numérique PowerBuilder.

(Par ailleurs, ce code numérique est aussi souvent utilisé sous son écriture hexadécimale dans d’autres langages. Par exemple le blanc : ‘#FFFFFF’… en CSS, etc. )

Ainsi, pour reprendre nos trois exemple précédents, nous aurions pu coder :

– pour le rouge : 0*256*256 + 0*256 + 255 = 255

this.backcolor=255

– pour le gris clair : 192*255*255 + 192*255 + 192 = 12632256

this.backcolor=12632256

– pour le jaune  … vous avez compris  😉  65535

this.backcolor=65535

La variante “nominative”

Un certain nombre de couleurs sont désignées aussi via une dénomination “littérale” dans PowerBuilder.

Ainsi, les couleurs suivantes – entre autres – portent des noms spécifiques :

Dark Cyan, Tooltip….   Vous les retrouverez à disposition dans les listbox dédiées du painter de PowerBuilder. Ces noms sont utilisables en Powerscript principalement dans les expressions de validations.

Par exemple, pour mettre en rouge un champ ‘nom’ lorsqu’il vaut zéro, vous pourriez coder dans l’expression :

if( nom =’0′,’red’,’black’)

Les “Couleurs Système”

Enfin, il existe aussi une série de couleurs système, sans correspondant RGB.

Elles sont définies au moment même de l’affichage et ne sont donc pas des couleurs “fixes”; elles changent en fonction des options d’affichage choisies dans Windows et sont définissables dans vos objets PowerBuilder par code numérique réservé (non issu de rgb, non calculable).

 

Tableau des principales couleurs PowerBuilder

En conclusion, vous trouverez ci-dessous un tableau récapitulatif des principales couleurs … à vous de l’enrichir de vos trouvailles perso  😉

 

Bybye !

PS: un petit lien sympa pour aller plus loin (en anglais et avec Microsoft):

http://msdn.microsoft.com/en-us/library/ms531197%28v=VS.85%29.aspx

 

Couleur Red Green Blue Valeur Numérique (long)
Black 0 0 0 0
White 255 255 255 16777215
Gray 192 192 192 12632256
Dark Grey 128 128 128 8421504
Red 255 0 0 255
Dark Red 128 0 0 128
Green 0 255 0 65280
Dark Green 0 128 0 32768
Blue 0 0 255 16711680
Dark Blue 0 0 128 8388608
Magenta 255 0 255 16711935
Dark Magenta 128 0 128 8388736
Cyan 0 255 255 16776960
Dark Cyan 0 128 128 8421376
Yellow 255 255 0 65535
Brown 128 128 0 32896
 Couleurs Système
       
Windows Text        33554432
Button Face       67108864
Scrollbar        134217728
Application Workspace       268435456
Transparent       536870912
Windows Background       1073741824
This entry was posted in DataWindow, PowerBuilder, PowerScript and tagged , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *