31:
How can I use my own operators only

with thisform.Expression1
	.AllowValueKeyword = .F.
	.AllowDefaultOperators = .F.
	.AddCustomOperator("+","<b>+</b>","This is a new binary-operator",2)
	.AddCustomOperator("xxx","<b>xxx</b>","This is a new keyword",0)
	.AddCustomOperator("yyy","<b>yyy</b>","This is a unary-operator",1)
	.AddCustomOperator("zzz","<b>zzz</b>","This is a binary-operator",2)
	.Text = "xxx + yyy(100 zzz 200)"
endwith
30:
How can I add a new binary-operator

with thisform.Expression1
	.AddCustomOperator("xxx","<b>xxx</b>","This is a new binary-operator",2)
	.Text = "value + 100 xxx 200"
endwith
29:
How can I add a new unary-operator

with thisform.Expression1
	.AddCustomOperator("xxx","<b>xxx</b>","This is a new unary-operator",1)
	.Text = "value + xxx(100)"
endwith
28:
How can I add a new keyword

with thisform.Expression1
	.AddCustomOperator("xxx","<b>xxx</b>","This is a new keyword",0)
	.Text = "value + xxx"
endwith
27:
How can I disable all operators
with thisform.Expression1
	.AllowValueKeyword = .F.
	.AllowDefaultOperators = .F.
endwith
26:
How can I disable the value keyword
with thisform.Expression1
	.AllowValueKeyword = .F.
endwith
25:
Usage of and ( and operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "(value contains 1) and (value != 1)"
endwith
24:
Usage of or ( or operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "(value=1) or value=`string`"
endwith
23:
Usage of not ( not operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "not(value=1)"
endwith
22:
Usage of - ( subtraction operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value - 2"
endwith
21:
Usage of + ( addition operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value + 2"
endwith
20:
Usage of mod ( reminder operator )

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value mod 2"
endwith
19:
Usage of / (divide operator)

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value / 2"
endwith
18:
Usage of * (multiplicity operator)

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "2 * value"
endwith
17:
How can I get the word from cursor when user double clicks the control
*** DblClick event - Occurs when the user double clicks the left mouse button over an object. ***
LPARAMETERS Shift,X,Y
	with thisform.Expression1
		DEBUGOUT( "Word: " )
		DEBUGOUT( .WordFromPoint(-1,-1) )
	endwith

with thisform.Expression1
	.Expression = "value"
	.AllowSplitter = 2
	.SplitPaneHeight = 196
endwith
16:
How do I determine the word from the cursor
*** Click event - Occurs when the user presses and then releases the left mouse button over the list control. ***
LPARAMETERS nop
	with thisform.Expression1
		DEBUGOUT( "Word: " )
		DEBUGOUT( .WordFromPoint(-1,-1) )
	endwith

with thisform.Expression1
	.Expression = "value"
	.SplitPaneHeight = 196
	.Object.Background(1) = RGB(240,240,240)
	.AllowSplitter = 2
endwith
15:
How can I check if the expression is valid/syntactically correct
*** Change event - Indicates that the control's text has changed. ***
LPARAMETERS nop
	with thisform.Expression1
		DEBUGOUT( "Valid: " )
		DEBUGOUT( .IsValid )
	endwith

with thisform.Expression1
	.Expression = "value"
	.SplitPaneHeight = 196
	.Object.Background(1) = RGB(240,240,240)
	.AllowSplitter = 2
endwith
14:
How can I change the visual appearance of the horizontal splitter

with thisform.Expression1
	.Expression = "value"
	.SplitPaneHeight = 196
	.Object.Background(1) = RGB(240,240,240)
	.AllowSplitter = 2
endwith
13:
How can I change the visual appearance of the vertical splitter

with thisform.Expression1
	.Expression = "value"
	.SplitPaneWidth = 196
	.Object.Background(0) = RGB(240,240,240)
endwith
12:
How can I add a new menu-item to control's context menu
*** ExecuteContextMenu event - Occurs when the user selects an user item from the control's context menu. ***
LPARAMETERS Item,Position
	with thisform.Expression1
		DEBUGOUT( "ExecuteContextMenu: " )
		DEBUGOUT( Item )
	endwith

with thisform.Expression1
	.Expression = "value + 100"
	.ContextMenuItems = "Test"
endwith
11:
How can I change the tooltip that shows when cursor hovers a keyword

with thisform.Expression1
	.Expression = "value"
	.Object.Description(0) = "This is a bit of text to be shown when cursor hovers the <b>value</b> keyword."
	.Refresh
endwith
10:
How do I check if the expression is correct
with thisform.Expression1
	.Expression = "currency(value)"
	DEBUGOUT( .IsValid )
endwith
9:
How do I programmatically evaluate the expression
with thisform.Expression1
	.Expression = "currency(value)"
	DEBUGOUT( .Evaluate("value=100") )
endwith
8:
How can I assign multiple values for variables %1, %2, ...

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "currency(%1 + %2)"
	.EvaluationText = "%1 = 100;%2 = 200"
endwith
7:
How can I change the values to show the result
with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "currency(value)"
	.EvaluationText = "value = 100"
endwith
6:
How can I prevent changing the color when expression is invalid
with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value 2"
	.ForeColorInvalid = RGB(0,0,0)
endwith
5:
How can I change the color when expression is invalid
with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value 2"
	.ForeColorInvalid = RGB(255,0,0)
endwith
4:
How can I prevent evaluation the selection

with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value + 1"
	.EvaluateSelection = .F.
	.HideSelection = .F.
	.SelLength = 1
endwith
3:
How can I programatically show the result
with thisform.Expression1
	.SplitPaneWidth = 196
	.Expression = "value"
endwith
2:
How can I get ride of the right-vertical line/split
with thisform.Expression1
	.AllowSplitter = 0
	.Expression = "value + 1"
endwith
1:
How can I change the control's background
with thisform.Expression1
	.Expression = "value"
	.BackColor = RGB(240,240,240)
endwith