be careful of float assignment from int math.
this will give you an integer result:
Dim AS Single fStep
fStep = (rcClient.bottom / 200)

You need
fStep = (rcClient.bottom / 200.0)
or
fStep = ((SINGLE)rcClient.bottom / 200)
To get a float.
'==============================================================================
Always Dimension a CWindow with Raw not Dim:
  Raw As CWindow pWindow
'==============================================================================

'==============================================================================
properties 
'------------------------------------------------------------------------------
For bc9Basic we have:
Getter:
'------------------------------------------------------------------------------
'Gets the horizontal scaling ratio
'------------------------------------------------------------------------------
Function CWindow::rxRatio() As Single
	Function = m_rx
End Sub
'------------------------------------------------------------------------------
Setter:
'------------------------------------------------------------------------------
'Sets the horizontal scaling ratio
'------------------------------------------------------------------------------
Sub CWindow::rxRatio(rx As Single)
	m_rx = rx
End Sub

These are used a bit differently:
  Raw As CWindwow pWindow
  Dim RatioVal As Single

To retrieve:
  RatioVal = pWindow.rxRatio()
To Set:
  pWindow.rxRatio(RatioVal)

'==============================================================================
