注意三个参数的顺序是红、绿和蓝。因此,值:
是0x0000FFFF,或黄色(红色和绿色的合成)。当所有三个参数设定为0时,色彩为黑色;当所有参数设定为255时,色彩为白色。GetRValue、GetGValue和GetBValue巨集从COLORREF值中抽取出原色值。当您在使用传回RGB色彩值的Windows函式时,这些巨集有时会很方便。
在16色或256色显示卡上,Windows可以使用「混色」来类比设备能够显示的颜色之外的色彩。混色利用了由多种色彩的图素组成的图素图案。可以呼叫GetNearestColor来决定与某一色彩最接近的纯色:
装置内容属性
前面已经提到过,Windows使用装置内容来保存控制GDI函式在显示器上如何操作的「属性」。例如,在用TextOut函式显示文字时,程式写作者不必指定文字的色彩和字体,Windows从装置内容取得这个资讯。
程式取得一个装置内容的代号时,Windows用预设值设定所有的属性(在下一节会看到如何取代这种设定)。表5-1列出了Windows 98支援的装置内容属性,程式可以改变或者取得任何一种属性。
OffsetWindowOrgEx
OffsetViewportOrgEx
SetMapMode