Far apparire un Balloon, quando si passa con il mouse su un menu
Da Gambas-it.org - Wikipedia.
Versione del 10 mar 2020 alle 08:36 di Vuott (Discussione | contributi)
Il caso in questione è quello in cui si vuole far apparire un Balloon sulla voce principale di un Menu, passandoci sopra con il puntatore del mouse.
Si potrà utilizzare un Timer e verificare la distanza del puntatore del mouse dall'angolo alto a sinistra dello schermo in rapporto con la distanza del Form, ove sono presenti le voci principali del Menu, dall'angolo alto a sinistra dello schermo.
Mostriamo un esempio pratico:
Private tm As Timer Public Sub Form_Open() With tm = New Timer As "Tempus" .Delay = 50 .Start End With End Public Sub Tempus_Timer() Dim rt As New Rect(Me.ScreenX + 10, Me.ScreenY + 10, Me.Font.TextWidth(Menu1.Caption), Me.Font.TextHeight(Menu1.Caption)) If rt.Contains(Mouse.ScreenX, Mouse.ScreenY) Then Balloon.Info("Un testo qualsiasi.", Me, 10 + (Me.Font.TextWidth(Menu1.Caption) / 2), 5) Endif End
Un'alternativa può essere quella di verificare il passaggio del mouse nell'area del Menu, tenendo conto delle coordinate .X ed .Y assunte dal puntatore del mouse ad ogni suo spostamento. In questo secondo caso, però, la verifica potrà avvenire solo se il mouse viene spostato mantenendo premuto un suo tasto.
Esempio:
Public Sub Form_MouseMove() Select Case Mouse.X Case 15 To 50 If Mouse.Y < 20 Then Print "Il mouse sta passando sul Menu !" End Select End