http://www.vb-helper.com/HowTo/balloon.zip

	Purpose
Display "balloon" help when the mouse is over a button

	Method
In the button's MouseMove event handler, make a label containing the help
visible. Also make a rounded shape control visible to outline the help.

    ' Make the balloon visible.
    Private Sub Command2_MouseMove(Button As Integer, Shift As Integer, _
        X As Single, Y As Single)

        lblTipPage(1).Visible = True
        shpTip(1).Visible = True
    End Sub

Under the button and extending outside it some distance, put a imgNoTip
control. In its MouseMove event handler, hide the balloon.

    ' Hide the balloon.
    Private Sub imgNoTip_MouseMove(Index As Integer, Button As Integer, _
        Shift As Integer, X As Single, Y As Single)

        lblTipPage(Index).Visible = False
        shpTip(Index).Visible = False
        shpTip(Index).Refresh
    End Sub

Thanks to Normand LaBine (nlabine@escape.ca).

I would make one change. If you move the mouse quickly enough off of a
control that displays a balloon, the imgNoTip control around it may not get
a MouseMove event. In that case, the balloon stays visible even after the
mouse moves away.

A more reliable method is to start a Timer for some short period (say, 250
milliseconds) when you make the balloon visible. When the Timer fires, it
uses API functions to get the mouse's position and see if it is still over
the button. If not, it hides the balloon and disables the timer.

	Disclaimer
This example program is provided "as is" with no warranty of any kind. It is
intended for demonstration purposes only. In particular, it does no error
handling. You can use the example in any form, but please mention
www.vb-helper.com.
