It seems that you are drawing on form canvas.
If I was drawing on the form's canvas, the drawing would be relative to the top left corner of the form, yes?
It is not - when I draw in the PaintBox methods, drawing begins top left corner of the Paintbox.
But if I prefix the calls to Canvas.<something> with the
name of the Paintbox, all seems well.
eg if the Paintbox is named Brian, then using Brian.Canvas.Rectangle() is OK
This is hugely unintuitive, as I would have expected any reference to an unqualified 'Canvas'
within a method of the
TPaintBox , to refer to the TPaintbox, not the form.