RE:Posicionarme sobre un boton
Aunque si puede usarse el evento MouseMove del objeto para hacer que aparezca una "leyenda" cuando el mouse este sobre el objeto de que se trate, el ejemplo no es muy valido que digamos, pues si el Caption del Command es, por ejemplo, "Iniciar", al pasar el mouse sobre el boton este mostraria la leyenda "Tengo el Mouse Encima" o la que se pusiera, en lugar de "Iniciar", lo que confundiria al usuario ...
La forma mas sencilla, pre-integrada en VB, es usar la propiedad .ToolTipText. Simplemente pones la leyenda que quieras en esta propiedad. Al poner el mouse sobre el objeto en cuestion, 1 segundo aprox., el ToolTipText se desplegara, y se ocultara al quitar el mouse del objeto...
Por supuesto, esto tiene el "inconveniente" de que el mouse debe estar quieto sobre el objeto cuando menos por un segundo. Pero por otro lado solo tienes que poner la leyenda que quieras en el .ToolTipText en tiempo de diseño (o durante la ejecucion si lo deseas), y te olvidas de codigo adicional.
Otra forma de mostrar una leyenda que aparezca en cuanto el mouse toca el objeto (sin tiempo de espera) , es efectivamente, usar el evento MouseMove del objeto en combinacion con el MouseMove del Form, pero esto siginifica codigo adicional en cada objeto en el que quieras usarlo..
Aqui va el ejemplo probado ...
'''''''''
Dim labelToolTip As Label
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Not labelToolTip.Visible Then
labelToolTip.Caption = "Esta Es Ayuda Para Usuario !"
labelToolTip.Width = Me.TextWidth(labelToolTip.Caption) + 50
labelToolTip.Height = Me.TextHeight(labelToolTip.Caption) + 50
labelToolTip.Top = Me.Command1.Top + Me.Command1.Height
labelToolTip.Left = Me.Command1.Left
labelToolTip.Visible = True
End If
End Sub
Private Sub Form_Load()
Set labelToolTip = Me.Controls.Add("VB.Label", "labelAyuda")
labelToolTip.Alignment = vbCenter
labelToolTip.BorderStyle = vbFixedSingle
labelToolTip.BackStyle = 1
labelToolTip.Appearance = 0
labelToolTip.BackColor = &HE0FFFF
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If labelToolTip.Visible Then
labelToolTip.Visible = False
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
Me.Controls.Remove labelToolTip
End Sub