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