RGB(r,g,b)宏獲得壹個COLORREF類型的值,它實際上是壹個DWORD。在WINDEF中有這樣壹個定義。h:
typedef DWORD COLORREF
這是WINGDI中RGB(r,g,b)宏的定義。h:
#定義RGB(r,g,b)((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))& lt;& lt8))|(((DWORD)(BYTE)(b))& lt;& lt16)))
這個宏實際上是將RGB的三個值組合成壹個值,比如RGB(64,32,128),實際上是壹個DWORD類型0x402080(十六進制表示)。因為64轉換成十六進制是0x40,32轉換成十六進制是0x20,128轉換成十六進制是0x80。所以RGB的值(64,32,128)實際上是雙字節類型的0x402080,十進制是4202624。