COLORREF RGB( BYTE bRed, // red component of color BYTE bGreen, // green component of color BYTE bBlue // blue component of color ); above is the structure #define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | \ ((WORD) (g) << 8)) | \ (((DWORD) (BYTE) (b)) << 16))) Above is the Macro So COLORREF is a 24-bit RGB color. BYTE GetBValue( WORD rgb // 32-bit RGB value // blue ); BYTE GetGValue( DWORD rgb // 32-bit RGB value // green ); BYTE GetRValue( DWORD rgb // 32-bit RGB value // red ); The GetRValue macro is defined as follows: #define GetRValue(rgb) ((BYTE) (rgb)) #define GetGValue(rgb) ((BYTE) (rgb)) #define GetBValue(rgb) ((BYTE) (rgb)) long green = 128; long red = 128; long blue = 128; COLORREF clr = RGB((blue + (green * 256) + (red * 255)); You may also create a structure of you own with COLORREF as a element with it. Hope this helps. Best Wishes and Happy Holiday's, ez_way