示例#1
0
COLORREF CColors::GetColor (Colors col, bool bDefault)
{
    switch (col)
    {
    case DryRunConflict:
        {
            COLORREF c = GetColor(Conflict);
            static const int scale = 150;
            long red   = MulDiv(GetRValue(c),(255-scale),255);
            long green = MulDiv(GetGValue(c),(255-scale),255);
            long blue  = MulDiv(GetBValue(c),(255-scale),255);

            return RGB(red, green, blue);
        }
        break;
    default:
        {
            CRegDWORD* setting = GetRegistrySetting (col);
            if (setting == NULL)
                return RGB (0,0,0);

            return bDefault ? setting->defaultValue() : (DWORD)*setting;
        }
    }
}
示例#2
0
Color CColors::GetColor (GDIPlusColor id, bool bDefault)
{
    CRegDWORD* setting = GetRegistrySetting (id);
    if (setting == NULL)
        return Color();

    if (bDefault)
        return setting->defaultValue();

    if (setting->exists())
        return (DWORD)*setting;

    CRegDWORD* lecagySetting = GetLegacyRegistrySetting (id);
    if ((lecagySetting != NULL) && lecagySetting->exists())
    {
        Color result;
        result.SetFromCOLORREF (*lecagySetting);
        return result;
    }

    return setting->defaultValue();
}