Differenze tra le versioni di "Far apparire un Balloon, quando si passa con il mouse su un menu"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Il caso in questione è quello in cui si vuole far apparire un ''Balloon'' su un ''Menu'', passandoci sopra con il puntatore del mouse.
+
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 del Menu, dall'angolo alto a sinistra dello schermo.
+
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:
 
Mostriamo un esempio pratico:

Versione delle 08:36, 10 mar 2020

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