59
Is it possible to hide the context's images

Procedure OnCreate
	Forward Send OnCreate
	Set ComImageSize to 0
	Set ComLineHeight to "dpi*16"
	Send ComImages "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="
	Set ComExpression to "value format ``"
	Set ComSplitPaneWidth to 312
End_Procedure
58
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)

Procedure OnCreate
	Forward Send OnCreate
	Set ComImageSize to 32
	Variant voStdFont
	Get ComFont to voStdFont
	Handle hoStdFont
	Get Create (RefClass(cComStdFont)) to hoStdFont
	Set pvComObject of hoStdFont to voStdFont
		Set ComSize of hoStdFont to 16
	Send Destroy to hoStdFont
	Variant voStdFont1
	Get ComToolTipFont to voStdFont1
	Handle hoStdFont1
	Get Create (RefClass(cComStdFont)) to hoStdFont1
	Set pvComObject of hoStdFont1 to voStdFont1
		Set ComSize of hoStdFont1 to 16
	Send Destroy to hoStdFont1
	Set ComToolTipWidth to 512
	Set ComLineHeight to "dpi*32"
	Send ComImages ("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" + ;
"RJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
	Set ComExpression to "value format ``"
	Set ComSplitPaneWidth to 312
End_Procedure
57
ImageSize property on 16 (default) (specifies the size of control' icons)

Procedure OnCreate
	Forward Send OnCreate
	Set ComImageSize to 16
	Set ComLineHeight to "dpi*16"
	Send ComImages "gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg=="
	Set ComExpression to "value format ``"
	Set ComSplitPaneWidth to 312
End_Procedure
56
How can I convert the bytes to KB (kilo-bytes), MB (mega-bytes) or GB (giga-bytes)

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 256
	Set ComExpression to "int(0:=(1:=value)/1024/1024/1024) ? round(=:0*10)/10 + ` GB` : (int(0:==:1/1024/1024) ? round(=:0*10)/10 + ` MB` : (int(0:==:1/1024) ? round(=:0*10)/10 + ` KB` : =:1 + ` B`))"
	Set ComEvaluationText to "value = 18\r\nvalue=1888\r\nvalue=18888888\r\nvalue=1888888888"
End_Procedure
55
Convert local time to Coordinated Universal Time (UTC)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "type(value) = 7 ? date(value + bias/24/60) : value"
	Set ComSplitPaneWidth to 256
End_Procedure
54
Convert Coordinated Universal Time (UTC) to local time

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "type(value) = 7 ? date(value - bias/24/60) : value"
	Set ComSplitPaneWidth to 256
End_Procedure
53
How can I show values with 1 decimal only if not integer such as 1.5, 2 (method 2)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "(((value format `1|,|3|,`) + `x`) replace `,0x` with ``) replace `x` with ``"
	Set ComSplitPaneWidth to 256
End_Procedure
52
How can I show values with 1 decimal only if not integer such as 1.5, 2 (method 1)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value format `1|.|3|,` replace `.0` with ``"
End_Procedure
51
The sample displays the value in years, months, weeks, days, hours, minutes and secons

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "trim((1:=int((0:=value)/365) ? =:1 + ` year(s) ` : ``)  + (1:=int((0:=(=:0 - (=:1*365)))/31) ? =:1 + ` month(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*31)))/7) ? =:1 + ` week(s) ` : ``) + (1:=int((0:=(=:0 - (=:1*7)))/1) ? =:1 + ` day(s) ` : ``) + (1:=int((0:=(=:0 - =:1 + 1/24/60/60/2))*24) ? =:1 + ` hour(s) ` : ``) + (1:=int((0:=(=:0*24 - =:1))*60) ? =:1 + ` min(s) ` : ``) + (1:=int((0:=(=:0*60 - =:1))*60) ? =:1 + ` sec(s)` : ``))"
	Set ComEvaluationText to "value = 1\r\nvalue=2 + 1/24/60\r\nvalue=365 + 12 * 1/24\r\nvalue=1212.25\r\nvalue=366.02512"
	Set ComSplitPaneWidth to 464
End_Procedure
50
The sample displays the value in seconds

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "(1:=(int(0:=(value*24*60*60 + 1/24/60/60/2))) ? =: 1 + ` sec(s)` : ``)"
	Set ComEvaluationText to "value = 1\r\nvalue=2 + 1/24/60\r\nvalue=365 + 12 * 1/24\r\nvalue=1212.25\r\nvalue=366.02512"
	Set ComSplitPaneWidth to 256
End_Procedure
49
The sample displays the value in minutes and seconds

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "trim((1:=(int(0:=(value*24*60 + 1/24/60/60/2))) ? =: 1 + ` min(s)` : ``) + ` ` + (2:=int((=:0 - =:1)*60) ? =:2 + ` sec(s)` : ``))"
	Set ComEvaluationText to "value = 1\r\nvalue=2 + 1/24/60\r\nvalue=365 + 12 * 1/24\r\nvalue=1212.25\r\nvalue=366.02512"
	Set ComSplitPaneWidth to 256
End_Procedure
48
The sample displays the value in hours and minutes

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "((1:=int(0:=( 24*int(value) + (value - int(value) + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
	Set ComEvaluationText to "value = 1\r\nvalue=2 + 1/24/60\r\nvalue=365 + 12 * 1/24\r\nvalue=1212.25\r\nvalue=366.02512"
	Set ComSplitPaneWidth to 256
End_Procedure
47
How can I check for a blank-date (sample 3) Expression

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "type(value) case ( default : `<fgcolor=000000><s>invalid</s></fgcolor>`; 0 : `<fgcolor=FF0000>null</fgcolor>`; 1 : `null` ; 7 : longdate(value) )"
	Set ComSplitPaneWidth to 256
End_Procedure
46
How can I check for a blank-date (sample 2) Expression

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "len(value) ? longdate(value) : ``"
	Set ComSplitPaneWidth to 256
End_Procedure
45
How can I check for a blank-date (sample 1) Expression

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "type(value) = 7 ? longdate(value) : ``"
	Set ComSplitPaneWidth to 256
End_Procedure
44
Easter Sunday

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "date(dateS('3/1/' + year(value)) + ((1:=(((255 - 11 * (year(value) mod 19)) - 21) mod 30) + 21) + (=:1 > 48 ? -1 : 0) + 6 - ((year(value) + int(year(value) / 4)) + =:1 + (=:1 > 48 ? -1 : 0) + 1) mod 7))"
	Set ComSplitPaneWidth to 256
End_Procedure
43
The sample displays the value in days, hours and minutes

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "((1:=int(0:= (value))) != 0 ? (=:1 + ' day(s)') : '') + (=:1 ? ' ' : '' ) + ((1:=int(0:=((=:0 - =:1 + 1/24/60/60/2)*24))) != 0 ? =:1 + ' hour(s)' : '' ) + (=:1 ? ' ' : '' ) + ((1:=round((=:0 - =:1)*60)) != 0 ? =:1 + ' min(s)' : '')"
	Set ComSplitPaneWidth to 256
End_Procedure
42
How can I display the date in short format

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "shortdate(date(value))"
	Set ComSplitPaneWidth to 256
End_Procedure
41
How can I display the date in long format

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "longdate(date(value))"
	Set ComSplitPaneWidth to 256
End_Procedure
40
The sample displays the positive values in blue, being preceded by + sign, negative values in red preceded by - sign, 0 as 0.00 while for null values is displays null. The numbers are displayed using 2 digits, . as decimal separator and grouping by 3 digits by , separator

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3,' ) : (dbl(value)>0 ? '<fgcolor=0000FF>+'+(value format '2|.|3,' ): '0.00') ) "
	Set ComSplitPaneWidth to 256
End_Procedure
39
How can I format a numeric value so it display as a currency

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "currency(dbl(value))"
	Set ComSplitPaneWidth to 256
End_Procedure
38
How can I format a numeric value to with grouping

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "dbl(value) format ''"
	Set ComSplitPaneWidth to 256
End_Procedure
37
How can I convert the value to a numeric ( integer ) value

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "int(value)"
	Set ComSplitPaneWidth to 256
End_Procedure
36
How can I convert the value to a numeric ( double ) value

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "dbl(value)"
	Set ComSplitPaneWidth to 256
End_Procedure
35
How can I format a date as YYYY-MMM-DD (sample 4)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "(year(value) + '-') + (month(value) array('','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')) + '-' + (day(value)<10 ? '0' : '') + day(value)"
	Set ComSplitPaneWidth to 256
End_Procedure
34
How can I format a date as YYYY-MMM-DD (sample 3)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "(2 array ( 0 := (shortdateF(value) split `/`) ) ) + `-`+ ((month(value) - 1) array `Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec` split ` `) + `-`+ (1 array =: 0)"
	Set ComSplitPaneWidth to 256
End_Procedure
33
How can I format a date as YYYY-MMM-DD (sample 2)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "ltrim((2 array longdate(value) split `,`)) + `-` +  ((1 array (1 array longdate(value) split `,`) split ` `) left 3 ) + `-` + (`00` left (2 - len(day(value)))) + day(value)"
	Set ComSplitPaneWidth to 256
End_Procedure
32
How can I format a date as YYYY-MMM-DD (sample 1)

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "year(value) + `-` +  (month(value)-1 array ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')) + `-` + (`00` left (2 - len(day(value)))) + day(value)"
	Set ComSplitPaneWidth to 256
End_Procedure
31
How can I use my own operators only

Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowValueKeyword to False
	Set ComAllowDefaultOperators to False
	Send ComAddCustomOperator "+" "<b>+</b>" "This is a new binary-operator" 2
	Send ComAddCustomOperator "xxx" "<b>xxx</b>" "This is a new keyword" 0
	Send ComAddCustomOperator "yyy" "<b>yyy</b>" "This is a unary-operator" 1
	Send ComAddCustomOperator "zzz" "<b>zzz</b>" "This is a binary-operator" 2
	Set ComText to "xxx + yyy(100 zzz 200)"
End_Procedure
30
How can I add a new binary-operator

Procedure OnCreate
	Forward Send OnCreate
	Send ComAddCustomOperator "xxx" "<b>xxx</b>" "This is a new binary-operator" 2
	Set ComText to "value + 100 xxx 200"
End_Procedure
29
How can I add a new unary-operator

Procedure OnCreate
	Forward Send OnCreate
	Send ComAddCustomOperator "xxx" "<b>xxx</b>" "This is a new unary-operator" 1
	Set ComText to "value + xxx(100)"
End_Procedure
28
How can I add a new keyword

Procedure OnCreate
	Forward Send OnCreate
	Send ComAddCustomOperator "xxx" "<b>xxx</b>" "This is a new keyword" 0
	Set ComText to "value + xxx"
End_Procedure
27
How can I disable all operators
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowValueKeyword to False
	Set ComAllowDefaultOperators to False
End_Procedure
26
How can I disable the value keyword
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowValueKeyword to False
End_Procedure
25
Usage of and ( and operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "(value contains 1) and (value != 1)"
End_Procedure
24
Usage of or ( or operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "(value=1) or value=`string`"
End_Procedure
23
Usage of not ( not operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "not(value=1)"
End_Procedure
22
Usage of - ( subtraction operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value - 2"
End_Procedure
21
Usage of + ( addition operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value + 2"
End_Procedure
20
Usage of mod ( reminder operator )

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value mod 2"
End_Procedure
19
Usage of / (divide operator)

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value / 2"
End_Procedure
18
Usage of * (multiplicity operator)

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "2 * value"
End_Procedure
17
How can I get the word from cursor when user double clicks the control
// Occurs when the user double clicks the left mouse button over an object.
Procedure OnComDblClick Short   llShift OLE_XPOS_PIXELS   llX OLE_YPOS_PIXELS   llY
	Forward Send OnComDblClick llShift llX llY
	Showln "Word: " (ComWordFromPoint(Self,-1,-1,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComAllowSplitter to OLEexVSplitter
	Set ComSplitPaneHeight to 196
End_Procedure
16
How do I determine the word from the cursor
// Occurs when the user presses and then releases the left mouse button over the list control.
Procedure OnComClick 
	Forward Send OnComClick 
	Showln "Word: " (ComWordFromPoint(Self,-1,-1,Nothing))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComSplitPaneHeight to 196
	Set ComBackground OLEexVSplitterApp to (RGB(240,240,240))
	Set ComAllowSplitter to OLEexVSplitter
End_Procedure
15
How can I check if the expression is valid/syntactically correct
// Indicates that the control's text has changed.
Procedure OnComChange 
	Forward Send OnComChange 
	Showln "Valid: " (ComIsValid(Self))
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComSplitPaneHeight to 196
	Set ComBackground OLEexVSplitterApp to (RGB(240,240,240))
	Set ComAllowSplitter to OLEexVSplitter
End_Procedure
14
How can I change the visual appearance of the horizontal splitter

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComSplitPaneHeight to 196
	Set ComBackground OLEexVSplitterApp to (RGB(240,240,240))
	Set ComAllowSplitter to OLEexVSplitter
End_Procedure
13
How can I change the visual appearance of the vertical splitter

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComSplitPaneWidth to 196
	Set ComBackground OLEexHSplitterApp to (RGB(240,240,240))
End_Procedure
12
How can I add a new menu-item to control's context menu
// Occurs when the user selects an user item from the control's context menu.
Procedure OnComExecuteContextMenu String   llItem Integer   llPosition
	Forward Send OnComExecuteContextMenu llItem llPosition
	Showln "ExecuteContextMenu: " llItem
End_Procedure

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value + 100"
	Set ComContextMenuItems to "Test"
End_Procedure
11
How can I change the tooltip that shows when cursor hovers a keyword

Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComDescription OLEexKeywordValue to "This is a bit of text to be shown when cursor hovers the <b>value</b> keyword."
	Send ComRefresh
End_Procedure
10
How do I check if the expression is correct
Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "currency(value)"
	Showln (ComIsValid(Self))
End_Procedure
9
How do I programmatically evaluate the expression
Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "currency(value)"
	Showln (ComEvaluate(Self,"value=100"))
End_Procedure
8
How can I assign multiple values for variables %1, %2, ...

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "currency(%1 + %2)"
	Set ComEvaluationText to "%1 = 100;%2 = 200"
End_Procedure
7
How can I change the values to show the result
Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "currency(value)"
	Set ComEvaluationText to "value = 100"
End_Procedure
6
How can I prevent changing the color when expression is invalid
Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value 2"
	Set ComForeColorInvalid to (RGB(0,0,0))
End_Procedure
5
How can I change the color when expression is invalid
Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value 2"
	Set ComForeColorInvalid to (RGB(255,0,0))
End_Procedure
4
How can I prevent evaluation the selection

Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value + 1"
	Set ComEvaluateSelection to False
	Set ComHideSelection to False
	Set ComSelLength to 1
End_Procedure
3
How can I programatically show the result
Procedure OnCreate
	Forward Send OnCreate
	Set ComSplitPaneWidth to 196
	Set ComExpression to "value"
End_Procedure
2
How can I get ride of the right-vertical line/split
Procedure OnCreate
	Forward Send OnCreate
	Set ComAllowSplitter to OLEexNoSplitter
	Set ComExpression to "value + 1"
End_Procedure
1
How can I change the control's background
Procedure OnCreate
	Forward Send OnCreate
	Set ComExpression to "value"
	Set ComBackColor to (RGB(240,240,240))
End_Procedure