Die Erweiterung benutzerdefinierte Farben im Dialogfeld " Farbe " kann der Benutzer eine Farbe mit RGB oder HSL-Werte angeben. Die CHOOSECOLOR -Struktur verwendet jedoch nur die RGB-Werte die Farben erstellt oder vom Benutzer ausgewählten Bericht.
Das RGB-Farbmodell werden Farben für Displays und andere Geräte, die Licht emittieren. Gültige rot-, grün- und Blau-Werte reichen von 0 bis 255, wobei 0 minimale Intensität und 255 angibt, maximalen Intensität. Die folgende Abbildung zeigt, wie die Grundfarben Rot, grün und blau kombiniert werden können, um vier zusätzliche Farben zu produzieren. (Für Anzeigegeräte entsteht die Farbe schwarz, wenn die rot-, grün- und Blau-Werte auf 0 festgelegt sind. Display-Technologie ist schwarz das Fehlen aller Farben.)
Im folgenden werden die acht Farben und die zugehörigen RGB-Werte.
Farbe | RGB-Werte |
---|---|
Rot | 255, 0, 0 |
Grün | 0, 255, 0 |
Blau | 0, 0, 255 |
Zyan | 0, 255, 255 |
Magenta | 255, 0, 255 |
Gelb | 255, 255, 0 |
Weiß | 255, 255, 255 |
Schwarz | 0, 0, 0 |
Das System speichert interne Farben als 32-Bit-RGB-Werte, die die folgende hexadezimale Form haben:
0x00bbggrr
Das niederwertige Byte enthält einen Wert für die relative Intensität von rot; Das zweite Byte enthält einen Wert für grün; und das dritte Byte enthält einen Wert für blau. Das höchstwertige Byte muss NULL sein.
Sie können die RGB Makro zu einen RGB-Wert basierend auf angegebenen Intensitäten für die roten, grünen und blauen Komponenten. Verwendung der GetRValue, GetBValue, und GetGValue Makros zum Extrahieren einzelner Farben aus einem RGB-Farbwert.
Das Dialogfeld Farbe enthält Steuerelemente zum HSL-Werte angeben. Die folgende Abbildung zeigt die Farbsteuerung Spektrum und die Leuchtkraft-Folie-Steuerelement, das im Dialogfeld Farbe angezeigt. Die Abbildung zeigt auch die Bereiche der Werte, die der Benutzer, mit diesen Steuerungen angeben kann.
In das Dialogfeld Farbe Sättigung und Helligkeit Werte müssen im Bereich von 0 bis 240 sein, und der Farbtonwert muss im Bereich von 0 bis 239.
Das Dialogfeld Feld Verfahren Datei COMDLG32.DLL für das Dialogfeld Farbe enthält Code, der HSL-Werte in die entsprechenden RGB-Werte konvertiert. Im folgenden werden einige Farben und ihre zugeordneten HSL und RGB-Werte.
Farbe | HSL-Werte | RGB-Werte |
---|---|---|
Rot | (0, 240, 120) | (255, 0, 0) |
Gelb | (40, 120, 240) | (255, 255, 0) |
Grün | (80, 120, 240) | (0, 255, 0) |
Zyan | (120, 240, 120) | (0, 255, 255) |
Blau | (160, 240, 120) | (0, 0, 255) |
Magenta | (200, 240, 120) | (255, 0, 255) |
Weiß | (0, 0, 240) | (255, 255, 255) |
Schwarz | (0, 0, 0) | (0, 0, 0) |