Zitat von
netmario:
Sprich man könnte es für alles mögliche verwenden?
Prinizipiell ja. Unter Windows (zumindest unter der "alten" GDI32) wird es als Kennzeichnung für Systemfarben (z.B. die Hintergrundfarbe eines Buttons) verwendet. Deshalb passen sich alle Oberflächen automatisch an die im System eingestellten Farbschemen an und der Programmierer braucht die Farben nicht hartzucoden.
In der
Unit "Graphics" sind die Farbkonstanten für die Systemfarben so deklariert:
Delphi-Quellcode:
const
clSystemColor = $FF000000;
...
clBtnFace = TColor(clSystemColor or COLOR_BTNFACE);
...
COLOR_BTNFACE ist in der
Unit "Windows" deklariert:
COLOR_BTNFACE = 15;
Durch den bitweisen OR-Operator werden die beiden Konstanten $FF000000 und 15 (hexadezimal = F) verknüpft zu dem Wert $FF000000F. Die beiden höchstwertigen Stellen werden also mit $FF "markiert", was binär bedeutet, dass dieses Byte komplett mit Einsen gefüllt ist.
Das ist aber nur so lange interessant, wie es um die grafische Ausgabe mit der
GDI (der sich auch die Delphiklassen bedienen) geht. Solange du nur intern damit rechnest, kannst du in TColor reinschreiben, was du willst, und z.b: das vierte Byte auch als Alphaknal benutzen.