diff --git a/lcl/colorbox.pas b/lcl/colorbox.pas index eb649b3f46..02ce4fe4ef 100644 --- a/lcl/colorbox.pas +++ b/lcl/colorbox.pas @@ -261,8 +261,48 @@ end; function GetPrettyColorName(ColorName: String): String; function FindInMap(ColorName: String; out NewColorName: String): Boolean; + var + Color: TColor; begin - Result := False; + Result := IdentToColor(ColorName, Color); + if Result then + begin + case Color of + clScrollBar : NewColorName := rsScrollBarColorCaption; + clBackground : NewColorName := rsBackgroundColorCaption; + clActiveCaption : NewColorName := rsActiveCaptionColorCaption; + clInactiveCaption : NewColorName := rsInactiveCaptionColorCaption; + clMenu : NewColorName := rsMenuColorCaption; + clWindow : NewColorName := rsWindowColorCaption; + clWindowFrame : NewColorName := rsWindowFrameColorCaption; + clMenuText : NewColorName := rsMenuTextColorCaption; + clWindowText : NewColorName := rsWindowTextColorCaption; + clCaptionText : NewColorName := rsCaptionTextColorCaption; + clActiveBorder : NewColorName := rsActiveBorderColorCaption; + clInactiveBorder : NewColorName := rsInactiveBorderColorCaption; + clAppWorkspace : NewColorName := rsAppWorkspaceColorCaption; + clHighlight : NewColorName := rsHighlightColorCaption; + clHighlightText : NewColorName := rsHighlightTextColorCaption; + clBtnFace : NewColorName := rsBtnFaceColorCaption; + clBtnShadow : NewColorName := rsBtnShadowColorCaption; + clGrayText : NewColorName := rsGrayTextColorCaption; + clBtnText : NewColorName := rsBtnTextColorCaption; + clInactiveCaptionText : NewColorName := rsInactiveCaptionText; + clBtnHighlight : NewColorName := rsBtnHighlightColorCaption; + cl3DDkShadow : NewColorName := rs3DDkShadowColorCaption; + cl3DLight : NewColorName := rs3DLightColorCaption; + clInfoText : NewColorName := rsInfoTextColorCaption; + clInfoBk : NewColorName := rsInfoBkColorCaption; + clHotLight : NewColorName := rsHotLightColorCaption; + clGradientActiveCaption : NewColorName := rsGradientActiveCaptionColorCaption; + clGradientInactiveCaption : NewColorName := rsGradientInactiveCaptionColorCaption; + clMenuHighlight : NewColorName := rsMenuHighlightColorCaption; + clMenuBar : NewColorName := rsMenuBarColorCaption; + clForm : NewColorName := rsFormColorCaption; + else + Result := False; + end; + end; end; begin diff --git a/lcl/graphics.pp b/lcl/graphics.pp index 5ec3819176..1da3272c28 100644 --- a/lcl/graphics.pp +++ b/lcl/graphics.pp @@ -293,6 +293,8 @@ const clHotLight = TColor(SYS_COLOR_BASE or COLOR_HOTLIGHT); clGradientActiveCaption = TColor(SYS_COLOR_BASE or COLOR_GRADIENTACTIVECAPTION); clGradientInactiveCaption = TColor(SYS_COLOR_BASE or COLOR_GRADIENTINACTIVECAPTION); + clMenuHighlight = TColor(SYS_COLOR_BASE or COLOR_MENUHILIGHT); + clMenuBar = TColor(SYS_COLOR_BASE or COLOR_MENUBAR); clForm = TColor(SYS_COLOR_BASE or COLOR_FORM); clEndColors = TColor(SYS_COLOR_BASE or COLOR_ENDCOLORS); @@ -2098,7 +2100,7 @@ type { Color mapping routines } const - Colors: array[0..110] of TIdentMapEntry = ( + Colors: array[0..112] of TIdentMapEntry = ( // standard colors (Value: clBlack; Name: 'clBlack'), (Value: clMaroon; Name: 'clMaroon'), @@ -2133,9 +2135,11 @@ const (Value: clActiveCaption; Name: 'clActiveCaption'), (Value: clInactiveCaption; Name: 'clInactiveCaption'), (Value: clMenu; Name: 'clMenu'), + (Value: clMenuBar; Name: 'clMenuBar'), + (Value: clMenuHighlight; Name: 'clMenuHighlight'), + (Value: clMenuText; Name: 'clMenuText'), (Value: clWindow; Name: 'clWindow'), (Value: clWindowFrame; Name: 'clWindowFrame'), - (Value: clMenuText; Name: 'clMenuText'), (Value: clWindowText; Name: 'clWindowText'), (Value: clCaptionText; Name: 'clCaptionText'), (Value: clActiveBorder; Name: 'clActiveBorder'), diff --git a/lcl/lclstrconsts.pas b/lcl/lclstrconsts.pas index 39ba80a509..8b59cd209a 100644 --- a/lcl/lclstrconsts.pas +++ b/lcl/lclstrconsts.pas @@ -338,6 +338,37 @@ resourceString // colorbox rsCustomColorCaption = 'Custom ...'; + rsScrollBarColorCaption = 'ScrollBar'; + rsBackgroundColorCaption = 'Desktop'; + rsActiveCaptionColorCaption = 'Active Caption'; + rsInactiveCaptionColorCaption = 'Inactive Caption'; + rsMenuColorCaption = 'Menu'; + rsWindowColorCaption = 'Window'; + rsWindowFrameColorCaption = 'Window Frame'; + rsMenuTextColorCaption = 'Menu Text'; + rsWindowTextColorCaption = 'Window Text'; + rsCaptionTextColorCaption = 'Caption Text'; + rsActiveBorderColorCaption = 'Active Border'; + rsInactiveBorderColorCaption = 'Inactive Border'; + rsAppWorkspaceColorCaption = 'Application Workspace'; + rsHighlightColorCaption = 'Highlight'; + rsHighlightTextColorCaption = 'Highlight Text'; + rsBtnFaceColorCaption = 'Button Face'; + rsBtnShadowColorCaption = 'Button Shadow'; + rsGrayTextColorCaption = 'Gray Text'; + rsBtnTextColorCaption = 'Button Text'; + rsInactiveCaptionText = 'Inactive Caption'; + rsBtnHighlightColorCaption = 'Button Highlight'; + rs3DDkShadowColorCaption = '3D Dark Shadow'; + rs3DLightColorCaption = '3D Light'; + rsInfoTextColorCaption = 'Info Text'; + rsInfoBkColorCaption = 'Info Background'; + rsHotLightColorCaption = 'Hot Light'; + rsGradientActiveCaptionColorCaption = 'Gradient Active Caption'; + rsGradientInactiveCaptionColorCaption = 'Gradient Inactive Caption'; + rsMenuHighlightColorCaption = 'Menu Highlight'; + rsMenuBarColorCaption = 'Menu Bar'; + rsFormColorCaption = 'Form'; implementation diff --git a/lcl/lcltype.pp b/lcl/lcltype.pp index e5472ce412..277c00349c 100644 --- a/lcl/lcltype.pp +++ b/lcl/lcltype.pp @@ -1388,10 +1388,13 @@ const COLOR_HOTLIGHT = 26; COLOR_GRADIENTACTIVECAPTION = 27; COLOR_GRADIENTINACTIVECAPTION = 28; - COLOR_FORM = 29; + COLOR_MENUHILIGHT = 29; + COLOR_MENUBAR = 30; + + COLOR_FORM = 31; // CLX base, mapped, pseudo, rgb values - COLOR_clForeground = 30; + COLOR_clForeground = 32; COLOR_clButton = COLOR_clForeground+1; COLOR_clLight = COLOR_clForeground+2; COLOR_clMidlight = COLOR_clForeground+3; @@ -1407,7 +1410,7 @@ const COLOR_clHighlightedText = COLOR_clForeground+11; // CLX normal, mapped, pseudo, rgb values - COLOR_clNormalForeground = 42; + COLOR_clNormalForeground = 44; COLOR_clNormalButton = COLOR_clNormalForeground+1; COLOR_clNormalLight = COLOR_clNormalForeground+2; COLOR_clNormalMidlight = COLOR_clNormalForeground+3; @@ -1423,7 +1426,7 @@ const COLOR_clNormalHighlightedText = COLOR_clNormalForeground+13; // CLX disabled, mapped, pseudo, rgb values - COLOR_clDisabledForeground = 56; + COLOR_clDisabledForeground = 58; COLOR_clDisabledButton = COLOR_clDisabledForeground+1; COLOR_clDisabledLight = COLOR_clDisabledForeground+2; COLOR_clDisabledMidlight = COLOR_clDisabledForeground+3; @@ -1439,7 +1442,7 @@ const COLOR_clDisabledHighlightedText = COLOR_clDisabledForeground+13; // CLX active, mapped, pseudo, rgb values - COLOR_clActiveForeground = 70; + COLOR_clActiveForeground = 72; COLOR_clActiveButton = COLOR_clActiveForeground+1; COLOR_clActiveLight = COLOR_clActiveForeground+2; COLOR_clActiveMidlight = COLOR_clActiveForeground+3;