一个 OLE_COLOR 和一个 COLORREF 之间的主要差异是如果一个 OLE_COLOR 中有其高序位设置低序位字节被视为系统颜色索引。
当检测到这种情况时,OleTranslateColor(),COleControl::TranslateColor() 调用该函数将一个 COLORREF 转换为系统颜色索引。
下面的代码阐释一个 OLE_COLOR 和一个 COLORREF 之间的转换:
void CMyOleControl::ConversionTest()
{
OLE_COLOR ocBack = GetBackColor();
// Convert OLE_COLOR to COLORREF
COLORREF clrBack = TranslateColor(ocBack);
// Convert COLORREF to OLE_COLOR
OLE_COLOR ocConverted = (OLE_COLOR)clrBack;
}
本文探讨了OLE_COLOR和COLORREF两种颜色表示形式的主要差异,并通过示例代码展示了如何使用OleTranslateColor()等函数在这两种类型间进行转换。
204

被折叠的 条评论
为什么被折叠?



