Thanks for going over this again - The part that doesn't seem to register with me, and catches me out a lot, is "returns a match for that screen mode". I can write Red&=_RBG(255,0,0) and the color Red is understood BEFORE the Screen Statement (meaning no error on the line detected) even though its the default Screen 0 (which should have only accepted the code as Color 4). Couple that with declaring and defining the color for all future use in subroutines so I do not have to write that same code again, I just always expect the color to be red.
Thanks Again for going over this Steve, I have read your other explanation on color (actually have a binder with a lot of the info you and the other members have provided) and yet I sometimes still don't fathom the depth of the info until I experience the issue in my own coding.
FillippeHector I will forever more use _RGB32
1) Red& is a LONG variable.
Correct me if I'm wrong, but the variable Red must always be an UNSIGNED LONG (~&), otherwise you'll get the wrong value: _RGB32(r,g,b) will give values in the range 0 - 4,294,967,295.