Данный макрос получает из трех цветов - красный, зеленый, синий код цвета COLORREF, который в последствии может использоваться при программировании цвета для графических примитивов.
Из этих трех составляющих можно получить любой цвет.
При использовании палитры RGB цвета могут изменять значения в диапазоне 0-255.
COLORREF RGB(
BYTE bRed,// красный
BYTE bGreen,// зеленый
BYTE bBlue// синий
);
Вы наверно догадались что, COLORREF это просто число.
А вот так он реализован. Как видите числа помещаются со смешением 0,8,16.
#define RGB(r, g ,b) ((DWORD) (((BYTE) (r) | ((WORD) (g) << 8)) |
(((DWORD) (BYTE) (b)) << 16)))
1999 год. Действие происходит где-то в районе OnPaint(), красные опять наступают.
CPaintDC dc(this);
CPen pen(PS_SOLID,3,RGB(200,0,0));// Настроили перо как красное(почти)
dc.SelectObject(pen);// выбрали перо
dc.LineTo(600,105);
dc.MoveTo(300,300);// провели красную линию