constants PropertyTitleFaceEnum
The PropertyTitleFaceEnum type specifies the properties of the title / extra title to be shown on any face. The Title / ExtraTitle property grant unlimited options to show any HTML text, images, colors, EBNs, patterns, frames anywhere on the face's background. The PropertyTitleFaceEnum type supports the following values.

NameValueDescription
exTitleFaceCaption0 By default, the exTitleFaceCaption property is "". Indicates the HTML caption to be displayed on the title. The exTitleFaceCaption supports the built-in HTML tags as defined here.

(string expression)

exTitleFaceBackColor1 By default, the exTitleFaceBackColor property is 0, which indicates no effect. Indicates the title's background color. A color expression that indicates the title's background color. The last 7 bits in the high significant byte of the color to indicates the identifier of the skin being used. Use the Add method to add new skins to the control. If you need to remove the skin appearance from a part of the control you need to reset the last 7 bits in the high significant byte of the color being applied to the background's part.

(long expression)

exTitleFaceForeColor2 By default, the exTitleFaceForeColor property is 0, which indicates no effect. Indicates the title's foreground color.

(long expression)

exTitleFaceAnchor3 By default, the exTitleFaceAnchor property is exAnchorTop. Specifies the side of the host where the title is anchored. The exTitleFaceHTMLRotate property is updated once the exTitleFaceAnchor is changed. For instance, if the title is anchored to the bottom, the title's exTitleFaceHTMLRotate is exHTMLHorizontal | exHTMLMirror

(AnchorEnum expression)

exTitleFaceHTMLRotate4 By default, the exTitleFaceHTMLRotate property is exHTMLHorizontal. Indicates how the HTML title is horizontally or vertically displayed. The exTitleFaceHTMLRotate property is updated once the exTitleFaceAnchor is changed. For instance, if the title is anchored to the bottom, the title's exTitleFaceHTMLRotate is exHTMLHorizontal | exHTMLMirror

(HTMLRotateEnum expression)

exTitleFaceLeft5 By default, the exTitleFaceLeft property is "0". Specifies the expression to determine the x-position to show the title, relative to its current position. The exTitleFaceLeft / exTitleFaceTop / exTitleFaceWidth / exTitleFaceHeight support expressions as explained here.

(string expression)

exTitleFaceTop6 By default, the exTitleFaceTop property is "0". Specifies the expression to determine the y-position to show the title, relative to its current position. The exTitleFaceLeft / exTitleFaceTop / exTitleFaceWidth / exTitleFaceHeight support expressions as explained here.

(string expression)

exTitleFaceWidth7 By default, the exTitleFaceWidth property is "twidth".  Specifies the expression to determine the width to show the title, relative to its current width. The exTitleFaceLeft / exTitleFaceTop / exTitleFaceWidth / exTitleFaceHeight support expressions as explained here.

(string expression)

exTitleFaceHeight8 By default, the exTitleFaceHeight property is "theight".  Specifies the expression to determine the height to show the title, relative to its current height. The exTitleFaceLeft / exTitleFaceTop / exTitleFaceWidth / exTitleFaceHeight support expressions as explained here.

(string expression)

exTitleFaceVisible9 By default, the exTitleFaceVisible property is exTitleFaceVisibleFront.  Specifies whether the title is shown (front,back) or hidden.

(TitleFaceVisibleEnum expression)

exTitleFaceWordWrap10 By default, the exTitleFaceWordWrap property is False.  Indicates whether a multiline title automatically wraps words to the beginning of the next line when necessary.

(boolean expression)

exTitleFaceBackgroundExt11 Indicates unlimited options to show any HTML text, images, colors, EBNs, patterns, frames anywhere on the title's background. A short description of the EBN String Format is described here, or a full description of the EBN String Format can be found here

(string expression)

The exTitleFaceCaption supports the following built-in HTML tags:

The exTitleFaceLeft / exTitleFaceTop / exTitleFaceWidth / exTitleFaceHeight support expressions as follows:

The value keyword in the property indicates the value to be formatted.

The supported binary arithmetic operators are:

The supported unary boolean operators are:

The supported binary boolean operators are:

The supported binary boolean operators, all these with the same priority 0, are :

The supported ternary operators, all these with the same priority 0, are :

"expression ? true_part : false_part"

, while it executes and returns the true_part if the expression is true, else it executes and returns the false_part. For instance, the "%0 = 1 ? 'One' : (%0 = 2 ? 'Two' : 'not found')" returns 'One' if the value is 1, 'Two' if the value is 2, and 'not found' for any other value. A n-ary equivalent operation is the case() statement, which is available in newer versions of the component.

The supported n-ary operators are (with priority 5):

"expression array (c1,c2,c3,...cn)"

, where the c1, c2, ... are constant elements. The constant elements could be numeric, date or string expressions. For instance the "month(value)-1 array ('J','F','M','A','M','Jun','J','A','S','O','N','D')" is equivalent with "month(value)-1 case (default:''; 0:'J';1:'F';2:'M';3:'A';4:'M';5:'Jun';6:'J';7:'A';8:'S';9:'O';10:'N';11:'D')". 

"expression in (c1,c2,c3,...cn)"

, where the c1, c2, ... are constant elements. The constant elements could be numeric, date or string expressions. For instance the "value in (11,22,33,44,13)" is equivalent with "(expression = 11) or (expression = 22) or (expression = 33) or (expression = 44) or (expression = 13)". The in operator is not a time consuming as the equivalent or version is, so when you have large number of constant elements it is recommended using the in operator. Shortly, if the collection of elements has 1000 elements the in operator could take up to 8 operations in order to find if an element fits the set, else if the or statement is used, it could take up to 1000 operations to check, so by far, the in operator could save time on finding elements within a collection.

"expression switch (default,c1,c2,c3,...,cn)"

, where the c1, c2, ... are constant elements, and the default is a constant element being returned when the element is not found in the collection. The constant elements could be numeric, date or string expressions.  The equivalent syntax is "%0 = c 1 ? c 1 : ( %0 = c 2 ? c 2 : ( ... ? . : default) )". The switch operator is very similar with the in operator excepts that the first element in the switch is always returned by the statement if the element is not found,  while the returned value is the value itself instead -1. For instance, the "%0 switch ('not found',1,4,7,9,11)" gets 1, 4, 7, 9 or 11, or 'not found' for any other value. As the in operator the switch operator uses binary searches for fitting the element, so it is quicker that iif (immediate if operator) alterative.

"expression case ([default : default_expression ; ] c1 : expression1 ; c2 : expression2 ; c3 : expression3 ;....)"

If the default part is missing, the case() operator returns the value of the expression if it is not found in the collection of cases ( c1, c2, ...). For instance, if the value of expression is not any of c1, c2, .... the default_expression is executed and returned. If the value of the expression is c1, then the case() operator executes and returns the expression1. The default, c1, c2, c3, ... must be constant elements as numbers, dates or strings. For instance, the "date(shortdate(value)) case (default:0 ; #1/1/2002#:1 ; #2/1/2002#:1; #4/1/2002#:1; #5/1/2002#:1)" indicates that only #1/1/2002#, #2/1/2002#,  #4/1/2002# and  #5/1/2002# dates returns 1, since the others returns 0. For instance the following sample specifies the hour being non-working for specified dates: "date(shortdate(value)) case(default:0;#4/1/2009# : hour(value) >= 6 and hour(value) <= 12 ; #4/5/2009# : hour(value) >= 7 and hour(value) <= 10 or hour(value) in(15,16,18,22); #5/1/2009# : hour(value) <= 8)" statement indicates the working hours for dates as follows:

The in, switch and case() use binary search to look for elements so they are faster then using iif and or expressions.

Obviously, the priority of the operations inside the expression is determined by ( ) parenthesis and the priority for each operator. 

The supported conversion unary operators are:

Other known operators for numbers are:

Other known operators for strings are:

Other known operators for dates are:

The EBN String Format syntax in BNF notation is defined like follows:

<EBN> ::= <elements> | <root> "(" [<elements>] ")"
<elements> ::= <element> [ "," <elements> ]
<root> ::= "root" [ <attributes> ] | [ <attributes> ]
<element> ::= <anchor> [ <attributes> ] [ "(" [<elements>] ")" ]
<anchor> ::= "none" | "left" | "right" | "client" | "top" | "bottom"
<attributes> ::= "[" [<client> ","] <attribute> [ "," <attributes> ] "]"
<client> ::= <expression> | <expression> "," <expression> "," <expression> "," <expression>
<expression> ::= <number> | <number> "%"
<attribute> ::= <backcolor> | <text> | <wordwrap> | <align> | <pattern> | <patterncolor> | <frame> | <framethick> | <data> | <others>
<equal> ::= "="
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<decimal> ::= <digit><decimal>
<hexadigit> ::= <digit> | "A" | "B"  "C" | "D" | "E"  "F"
<hexa> ::= <hexadigit><hexa>
<number> ::= <decimal> | "0x" <hexa>
<color> ::= <rgbcolor> | number
<rgbcolor> ::= "RGB" "(" <number> "," <number> "," <number> ")"
<string> ::= "`" <characters> "`" | "'" <characters> "'" | " <characters> "
<characters> ::= <char>|<characters>
<char> ::= <any_character_excepts_null>
<backcolor> ::= "back" <equal> <color>
<text> ::= "text" <equal> <string>
<align> ::= "align" <equal> <number>
<pattern> ::= "pattern" <equal> <number>
<patterncolor> ::= "patterncolor" <equal> <color>
<frame> ::= "frame" <equal> <color>
<data> ::= "data" <equal> <number> | <string>
<framethick> ::= "framethick"
<wordwrap> ::= "wordwrap"

Others like: pic, stretch, hstretch, vstretch, transparent, from, to are reserved for future use only.

Easy samples:

Now, lets say we have the following request to layout the colors on the objects:

We define the BackgroundExt property such as "top[30%,back=RGB(253,218,101)],client[back=RGB(91,157,210)],none[(0%,0%,10%,100%)](top[90%,back=RGB(0,0,0)])", and it looks as:

so, if we apply to our object we got:

Now, lets say we have the following request to layout the colors on the objects:

We define BackgroundExt property such as "left[10%](top[90%,back=RGB(0,0,0)]),top[30%,back=RGB(254,217,102)],client[back=RGB(91,156,212)]", and it looks as:

so, if we apply to our object we got: