Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#31

Re: [Delphi]Farben

  Alt 8. Okt 2009, 19:39
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.
  Mit Zitat antworten Zitat