From Xojo Documentation

Property (As Double )
aCurveShape.ControlX(Index as Integer) = newDoubleValue
DoubleValue = aCurveShape.ControlX(Index as Integer)

Supported for all project types and targets.

Use the zero-based index to access control points (horizontal position).

Sample Code

The following method is in the MouseDown event of a Window. It draws a simple curve when the user presses the mouse button. The negative value of ControlY(0) places the control point above the imaginary straight line from x,y to x2,y2.

Var c As New CurveShape
c.ControlX(0) = 120
c.ControlY(0) = -40
c.Order = 1
c.X = 10
c.Y = 100
c.X2 = 250
c.Y2 = 100

g.DrawObject(c, c.X, c.Y)