Rozszerzenie kolory niestandardowe okno dialogowe kolorów pozwala użytkownikowi określić kolor używając wartości RGB lub HSL. Jednakże struktury CHOOSECOLOR używa tylko wartości RGB do raportu kolorów utworzonych lub wybrane przez użytkownika.
RGB model jest stosowany do określania kolorów wyświetla i innych urządzeń, które emitują światło. Prawidłowe wartości czerwonego, zielonego i niebieskiego zakresu od 0 do 255, z 0 wskazujące natężenie minimalne i 255 wskazujący maksymalne natężenie. Na następującej ilustracji pokazano, jak można łączyć kolory podstawowe, czerwony, zielony i niebieski produkować cztery kolory dodatkowe. (Dla urządzeń wyświetlających, koloru czarnego wyników przy wartości czerwonego, zielonego i niebieskiego są ustawione na 0. Technologią wyświetlania czarnego jest brak wszystkich kolorów.)

Poniżej przedstawiono osiem kolorów i ich skojarzonych z nim wartości RGB.
| Kolor | Wartości RGB |
|---|---|
| Czerwony | 255, 0, 0 |
| Green | 255, 0, 0 |
| Niebieski | 0, 0 i 255 |
| Błękitny | 0, 255, 255 |
| Karmazynowy | 255, 0 i 255 |
| Żółty | 255, 255, 0 |
| White | 255, 255, 255 |
| Black | 0, 0, 0 |
System przechowuje wewnętrzną kolory jako 32-bitowe RGB wartości, które mają następującą postać szesnastkową:
0x00bbggrr
Bajcie zawiera wartości względnej intensywności czerwony; Drugi bajt zawiera wartość zielonej; a trzecim bajt zawiera wartość dla niebieskiego. Bajcie musi być równe zero.
Można użyć makro RGB , aby uzyskać wartości RGB na podstawie określonego natężenia składników czerwonego, zielonego i niebieskiego. Użycie GetRValue, GetBValue, i GetGValue makra w celu wyodrębnienia pojedyncze kolory z RGB wartości kolorów.
Okno dialogowe kolorów udostępnia formanty do określania wartości HSL. Na następującej ilustracji pokazano kontroli widma kolorów i kontroli slajdów jasność, który pojawia się w oknie dialogowym kolor . Na ilustracji pokazano również zakresy wartości, które użytkownicy będą mogli określić te formanty.

W oknie dialogowym kolor wartości nasycenia i jaskrawości muszą być z zakresu od 0 do 240, a wartość barwy musi być z zakresu od 0 do 239.
Procedury pole dialogowe w COMDLG32.Biblioteka DLL w oknie dialogowym kolor zawiera kod, który konwertuje HSL wartości odpowiadające wartości RGB. Poniżej przedstawiono kilka kolorów i skojarzonych z nim wartości HSL i RGB.
| Kolor | HSL wartości | Wartości RGB |
|---|---|---|
| Czerwony | (0, 240, 120) | (255, 0, 0) |
| Żółty | (40, 240, 120) | (255, 255, 0) |
| Green | (80, 240, 120) | (0, 255, 0) |
| Błękitny | (120, 240, 120) | (0, 255, 255) |
| Niebieski | (160, 240, 120) | (0, 0 i 255) |
| Karmazynowy | (200, 240, 120) | (255, 0 i 255) |
| White | (0, 0, 240) | (255, 255, 255) |
| Black | (0, 0, 0) | (0, 0, 0) |