Static and dynamic color values.

SRP understands the importance of a consistent interface, and color plays a large role in achieving an interface that appears to belong in its environment. SRP designed Color properties to easily establish a variety of color related effects using a single property value.

Static Color Value

A color property accepts static color values in three ways: as a single integer value, as RGB components, or as HSL components. The integer value can be calculated using the following formula:

IntegerVal = (B * 65536) + (G * 256) + R


To set the color to RGB components, use the format:

RGB(R,G,B)


The RGB keyword tells the property to treat the input as RGB components. If you omit the RGB keyword and use only the braces, then RGB is assumed. However, the braces cannot be omitted, since the input will then be treated as a single integer value. The advantage to the RGB component format is that the property calculates the color for you.

To set the color to HSL components, use the format:

HSL(H,S,L)


HSL is similar to RGB in that is calculate a color, but HSL components have different meaning. The H component is Hue, which is any of 255 base colors. There is generally no way to interpret what color this component might represent, but you can use MS Paint's Color Palette window to determine the value of a hue you're interested in. Why use HSL then? Because you may want to guarantee that any color be of a certain darkness or grayness. This is where the other two components come in. The S component is Saturation, or the purity of the color. When saturation is 255, then the hue is at it's purest, while a saturation level of 0 is pure gray. Any value in between is a blend of the hue with a corresponding amount of gray. The final component, L, is Luminance. A value of 255 for luminance results in pure white, while a value of 0 results in pure black. Any value in between results in a brighter or darker version of the color.

To complete the explanation of static colors, here are four ways of setting the Color property to bright blue:

Color = 16711680                ;* Single Integer 
Color = 255 * 65536             ;* Expression Evaluation into a Single Integer 
Color = "RGB(0, 0, 255)"        ;* RGB Components 
Color = "HSL(160, 255, 127)"    ;* HSL Components

Regardless of how a static color is set, the color is always returned in RGB(R,G,B) format.

System Color

Sometimes you may want your OLE control to blend in with the end user's current desktop theme colors. Therefore, Color properties accept system color names, so even if the end user changes his/her desktop theme colors, the OLE control will dynamically change to match. Acceptable system color names and their abbreviations are:

NameAbbr.Description
3DFace3DFace color for 3D display elements.
3DLight3DLLight color for 3D display elements (for edges facing the light source).
3DHilight3DHHighlight color for 3D display elements (for edges facing the light source).
3DShadow3DSShadow color for 3D display elements (for edges facing away from the light source).
3DDkShadow3DDKDark shadow color for 3D display elements (for edges facing away from the light source).
3DText3DTText color for 3D display elements.
ActiveTitleATActive window's title bar.
ActiveTitle1AT1Same as ActiveTitle.
ActiveTitle2AT2Right side color in the color gradient of an active window's title bar. Same as ActiveTitle if no gradient theme is set.
ActiveTitleTextATTActive window's title bar text.
ActiveWindowBorderAWBActive window's border.
AppBackgroundABKBackground color of multiple document interface (MDI) applications.
DesktopDTDesktop background color.
GrayTextGTGrayed (disabled) text.
HotItemHOTColor for a hot-tracked item.
InactiveTitleITInactive window's title bar.
InactiveTitle1IT1Same as InactiveTitle.
InactiveTitle2IT2Right side color in the color gradient of an inactive window's title bar. Same as "InactiveTitle" if no gradient theme is set.
InactiveTitleTextITTInactive window's title bar text.
InactiveWindowBorderIWBInactive window's border.
MenuMMenu background.
MenuTextMTText in menus.
ScrollBarSBScroll bar gray area.
SelectSItem(s) selected in a control.
SelectTextSTText of item(s) selected in a control.
ToolTipTTBackground color for tool tip controls.
ToolTipTextTTTText color for tool tip controls.
WindowWWindow background.
WindowFrameWFWindow frame.
WindowTextWTText in windows.

Color properties are not case-sensitive, so these names are accepted regardless of their case.

Office Colors

In addition to specifying standard system colors by name, you can also specify MS Office theme colors. These colors are used within Office XP and Office 2003.

NameAbbr.Description
Office3DFaceO3DXP face color for three- dimensional display elements and for dialog box backgrounds.
Office3DShadowO3DSXP shadow color for three-dimensional display elements (for edges facing away from the light source).
OfficeCheckedTextOCTXP color for text displayed in a checked button.
OfficeDisabledODXP menu icon disabled color.
OfficeEditBorderOEBXP color for the border color of edit controls.
OfficeFrameOFOffice 2003 frame color.
OfficeGrayTextOGTXP menu item disabled text color.
OfficeIconShadowOISXP menu item icon shadow.
OfficeLabelOLXP label control color.
OfficeMenuOMXP menu item text background color.
OfficeMenuBorderOMBXP menu border color.
OfficeMenuExpandedOMEXP hidden menu commands background color.
OfficeMenuTextOMTXP menu item text color.
OfficePushedTextOPTXP toolbar pushed text color.
OfficeSelectOSXP menu item selected color.
OfficeSelectBorderOSBXP menu item selected border color.
OfficeSelectCheckedOSCXP menu item checked color.
OfficeSelectCheckedBorderOSCBXP menu item checked border color.
OfficeSelectPushedOSPXP menu item pushed color.
OfficeSelectPushedBorderOSPBXP border color for pushed in 3D elements.
OfficeSelectTextOSTXP menu item selected text color.
OfficeSeparatorOSEPXP toolbar separator color.
OfficeSplitterOSPLXP splitter face color.
OfficeStaticFrameOSFWinXP Static frame color
OfficeTabInactiveOTIXP inactive tab background color.
OfficeTabInactiveTextOTITXP inactive tab text color.
OfficeToolbarOTBXP toolbar background color.
OfficeToolbarGripperOTBGXP toolbar gripper color.
OfficeToolbarTextOTBTXP toolbar text color.

HTML Colors

As an added convenience, you may specify any standard HTML color name. The currently available colors are listed below: 

Color NameColor
AliceBlue


 

AntiqueWhite


 

Aqua


 

Aquamarine


 

Azure


 

Beige


 

Bisque


 

Black


 

BlanchedAlmond


 

Blue


 

BlueViolet


 

Brown


 

BurlyWood


 

CadetBlue


 

Chartreuse


 

Chocolate


 

Coral


 

CornflowerBlue


 

Cornsilk


 

Crimson


 

Cyan


 

DarkBlue


 

DarkCyan


 

DarkGoldenRod


 

DarkGray


 

DarkGrey


 

DarkGreen


 

DarkKhaki


 

DarkMagenta


 

DarkOliveGreen


 

DarkOrange


 

DarkOrchid


 

DarkRed


 

DarkSalmon


 

DarkSeaGreen


 

DarkSlateBlue


 

DarkSlateGray


 

DarkSlateGrey


 

DarkTurquoise


 

DarkViolet


 

DeepPink


 

DeepSkyBlue


 

DimGray


 

DimGrey


 

DodgerBlue


 

FireBrick


 

FloralWhite


 

ForestGreen


 

Fuchsia


 

Gainsboro


 

GhostWhite


 

Gold


 

GoldenRod


 

Gray


 

Grey


 

Green


 

GreenYellow


 

HoneyDew


 

HotPink


 

IndianRed


 

Indigo


 

Ivory


 

Khaki


 

Lavender


 

LavenderBlush



LawnGreen


 

LemonChiffon


 

LightBlue


 

LightCoral


 

LightCyan


 

LightGoldenRodYellow


 

LightGray


 

LightGrey


 

LightGreen


 

LightPink


 

LightSalmon


 

LightSeaGreen


 

LightSkyBlue


 

LightSlateGray


 

LightSlateGrey


 

LightSteelBlue


 

LightYellow


 

Lime


 

LimeGreen


 

Linen


 

Magenta


 

Maroon


 

MediumAquaMarine


 

MediumBlue


 

MediumOrchid


 

MediumPurple


 

MediumSeaGreen


 

MediumSlateBlue


 

MediumSpringGreen


 

MediumTurquoise


 

MediumVioletRed


 

MidnightBlue


 

MintCream


 

MistyRose


 

Moccasin


 

NavajoWhite


 

Navy


 

OldLace


 

Olive


 

OliveDrab


 

Orange


 

OrangeRed


 

Orchid


 

PaleGoldenRod


 

PaleGreen


 

PaleTurquoise


 

PaleVioletRed


 

PapayaWhip


 

PeachPuff


 

Peru


 

Pink


 

Plum


 

PowderBlue


 

Purple


 

Red


 

RosyBrown


 

RoyalBlue


 

SaddleBrown


 

Salmon


 

SandyBrown


 

SeaGreen


 

SeaShell


 

Sienna


 

Silver


 

SkyBlue


 

SlateBlue


 

SlateGray


 

SlateGrey


 

Snow


 

SpringGreen


 

SteelBlue


 

Tan


 

Teal


 

Thistle


 

Tomato


 

Turquoise


 

Wheat


 

White


 

Yellow


 

WhiteSmoke


 

YellowGreen


 

Color Modifiers

System and HTML colors are great for basic look and feel, but you may want to only use these predefined colors as a base while still having the flexibility to achieve the look and feel you desire without sacrificing conformity to these colors. For instance, you may want to use the system highlight color for selected cells in the SRP OLE EditTable, but you may also want it to always be light enough to display black text in front of it. Color modifiers provide the means to achieve this and other effects. The color modifier format is:

ColorName Modifier=Value


ColorName is one of the system or HTML color names listed above. Modifier is one of the available single-character modifiers listed below. Value is a number indicating the modifier's new value to be applied to the system color. The available modifiers are:

ModifierValueDescription
L0 - 100Luminance modifier. Luminance is a measurement of light applied to the color. 0 is darkest (black) and 100 is lightest (white).
S0 - 100Saturation modifier. Saturation is a measurement of purity applied to the color. 0 is pure grey and 100 is the pure color.
Cn/aCompliment modifier. Modifies the predefined color to be its complimentary color. Always applied first.
Gn/aGrayscale modifier. Modifies the predefined color to be grayscale. This is more accurate than setting S=0. Always applied last.

Here is a side-by-side comparison of a single system color modified using the available modifiers:

Here are the same values as above but with the grayscale modifier applied.

Any modifier that can be set to a value, such as the Luminance modifier, can be set to a relative value as well. Do this by using the += or the -= operators. The += operator increases the attribute while the -= decreases it. Let's use Luminance as an example:

For convenience, color modifiers can also be applied to Static colors as well.

Auto Values

Color properties can also receive three other string values: "Auto", "None", and "Transparent". The "Auto" value sets the color property to its default value, which is decided by the OLE control. The "None" value is accepted by some Color properties to specify no color. The results of these values depend on the OLE control's implementation.

The "Transparent" value is similar to "None" in that it represents no color, however, while "None" will be interpreted by some controls as don't-draw-anything, "Transparent" will be interpreted as draw something invisible. For example, when using swatches in the Tree control, "None" means no swatch whereas "Transparent" means an invisible swatch. This is useful for making sure tree items still line up but leaving empty spaces for items with no swatch.

Additionally, The Color Fill technology can accept "Transparent" as one of the colors in a gradient, thus allowing you to fade a color into nothing for some interesting effects.

In all cases unrecognized or Null values are treated as "Auto" values.

See Also

Formatted StringColor Fill


  • No labels