Before I'd do anything else, I'd got to the Universal Thread and see if someone has posted such a class. They have lots of free downloads there, so no use reinventing the wheel.
As for the thing itself it seems to be triggered by mousemove events and has a timer associated to end displaying it after a while. I suppose a sequence something like the following pseudocode would be used.
object.mousemove()
IF !TimerRunning
IF !TimedOut
Start timer [set TimerRunning = .t.]
mytooltip.text = this.tooltiptext
mytooltip.visible = .t.
ENDIF
ELSE
TimedOut = .f.
ENDIF
DODEFAULTS
and in the timer.timer event put
TimedOut = .t.
mytooltip.visible = .f.
This code isn't very complete or accurate, just a schematic of the sort of thing you need to work out in detail. Especially you need to figure out how to abort the timer when you move off an object.
Dave Dardinger