31:
How can I use my own operators only

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AllowValueKeyword = false
oExpression.AllowDefaultOperators = false
oExpression.AddCustomOperator("+","<b>+</b>","This is a new binary-operator",2)
oExpression.AddCustomOperator("xxx","<b>xxx</b>","This is a new keyword",0)
oExpression.AddCustomOperator("yyy","<b>yyy</b>","This is a unary-operator",1)
oExpression.AddCustomOperator("zzz","<b>zzz</b>","This is a binary-operator",2)
oExpression.Text = "xxx + yyy(100 zzz 200)"

30:
How can I add a new binary-operator

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AddCustomOperator("xxx","<b>xxx</b>","This is a new binary-operator",2)
oExpression.Text = "value + 100 xxx 200"

29:
How can I add a new unary-operator

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AddCustomOperator("xxx","<b>xxx</b>","This is a new unary-operator",1)
oExpression.Text = "value + xxx(100)"

28:
How can I add a new keyword

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AddCustomOperator("xxx","<b>xxx</b>","This is a new keyword",0)
oExpression.Text = "value + xxx"

27:
How can I disable all operators
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AllowValueKeyword = false
oExpression.AllowDefaultOperators = false

26:
How can I disable the value keyword
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AllowValueKeyword = false

25:
Usage of and ( and operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "(value contains 1) and (value != 1)"

24:
Usage of or ( or operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "(value=1) or value=`string`"

23:
Usage of not ( not operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "not(value=1)"

22:
Usage of - ( subtraction operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value - 2"

21:
Usage of + ( addition operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value + 2"

20:
Usage of mod ( reminder operator )

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value mod 2"

19:
Usage of / (divide operator)

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value / 2"

18:
Usage of * (multiplicity operator)

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "2 * value"

17:
How can I get the word from cursor when user double clicks the control
/*
with (this.EXPRESSIONACTIVEXCONTROL1.nativeObject)
	DblClick = class::nativeObject_DblClick
endwith
*/
// Occurs when the user double clicks the left mouse button over an object.
function nativeObject_DblClick(Shift,X,Y)
	oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
	? "Word: " 
	? oExpression.WordFromPoint(-1,-1) 
return

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.AllowSplitter = 2
oExpression.SplitPaneHeight = 196

16:
How do I determine the word from the cursor
/*
with (this.EXPRESSIONACTIVEXCONTROL1.nativeObject)
	Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the list control.
function nativeObject_Click()
	oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
	? "Word: " 
	? oExpression.WordFromPoint(-1,-1) 
return

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.SplitPaneHeight = 196
oExpression.Template = [Background(1) = 15790320] // oExpression.Background(1) = 0xf0f0f0
oExpression.AllowSplitter = 2

15:
How can I check if the expression is valid/syntactically correct
/*
with (this.EXPRESSIONACTIVEXCONTROL1.nativeObject)
	Change = class::nativeObject_Change
endwith
*/
// Indicates that the control's text has changed.
function nativeObject_Change()
	oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
	? "Valid: " 
	? Str(oExpression.IsValid) 
return

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.SplitPaneHeight = 196
oExpression.Template = [Background(1) = 15790320] // oExpression.Background(1) = 0xf0f0f0
oExpression.AllowSplitter = 2

14:
How can I change the visual appearance of the horizontal splitter

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.SplitPaneHeight = 196
oExpression.Template = [Background(1) = 15790320] // oExpression.Background(1) = 0xf0f0f0
oExpression.AllowSplitter = 2

13:
How can I change the visual appearance of the vertical splitter

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.SplitPaneWidth = 196
oExpression.Template = [Background(0) = 15790320] // oExpression.Background(0) = 0xf0f0f0

12:
How can I add a new menu-item to control's context menu
/*
with (this.EXPRESSIONACTIVEXCONTROL1.nativeObject)
	ExecuteContextMenu = class::nativeObject_ExecuteContextMenu
endwith
*/
// Occurs when the user selects an user item from the control's context menu.
function nativeObject_ExecuteContextMenu(Item,Position)
	oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
	? "ExecuteContextMenu: " 
	? Str(Item) 
return

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value + 100"
oExpression.ContextMenuItems = "Test"

11:
How can I change the tooltip that shows when cursor hovers a keyword

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.Template = [Description(0) = "This is a bit of text to be shown when cursor hovers the <b>value</b> keyword."] // oExpression.Description(0) = "This is a bit of text to be shown when cursor hovers the <b>value</b> keyword."
oExpression.Refresh()

10:
How do I check if the expression is correct
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "currency(value)"
? Str(oExpression.IsValid) 

9:
How do I programmatically evaluate the expression
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "currency(value)"
? Str(oExpression.Evaluate("value=100")) 

8:
How can I assign multiple values for variables %1, %2, ...

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "currency(%1 + %2)"
oExpression.EvaluationText = "%1 = 100;%2 = 200"

7:
How can I change the values to show the result
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "currency(value)"
oExpression.EvaluationText = "value = 100"

6:
How can I prevent changing the color when expression is invalid
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value 2"
oExpression.ForeColorInvalid = 0x0

5:
How can I change the color when expression is invalid
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value 2"
oExpression.ForeColorInvalid = 0xff

4:
How can I prevent evaluation the selection

local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value + 1"
oExpression.EvaluateSelection = false
oExpression.HideSelection = false
oExpression.SelLength = 1

3:
How can I programatically show the result
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.SplitPaneWidth = 196
oExpression.Expression = "value"

2:
How can I get ride of the right-vertical line/split
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.AllowSplitter = 0
oExpression.Expression = "value + 1"

1:
How can I change the control's background
local oExpression

oExpression = form.EXPRESSIONACTIVEXCONTROL1.nativeObject
oExpression.Expression = "value"
oExpression.BackColor = 0xf0f0f0