Creare Menu popup da codice
Vai alla navigazione
Vai alla ricerca
Mostreremo un possibile codice per creare, cliccando con il tasto destro del mouse ad esempio sul Form, un menu Popup con quattro sotto-menu, ciascuno dei quali presenta ulteriori tre sotto-menu:
Public Sub Form_MouseUp()
Dim menu1, submenu1, submenu2 As Menu
Dim j, k, b As Byte
' Se dunque si è cliccato con il tasto destro:
If Mouse.Right Then
' Crea innanzitutto il Menu principale:
menu1 = New Menu(Me)
' Poi crea quattro sotto-Menu:
For j = 1 To 4
submenu1 = New Menu(menu1)
' Mostra il testo per ciascuno dei quattro sotto-Menu:
submenu1.Text = "submenu1_" & CStr(j)
' Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:
For k = 1 To 3
submenu2 = New Menu(submenu1)
b += 1
' Mostra il testo per ciascuno dei tre sotto-Menu:
submenu2.Text = "submenu2_" & CStr(b)
' Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu,
' il testo del secondo sotto-Menu medesimo:
submenu2.Action = submenu2.Text
Next
Next
' Mostra quindi le finestre di ciascun Menu:
menu1.Popup
Endif
End
Public Sub Action_Activate(azione As String) As Boolean
' Vediamo semplicemente il testo del sotto-Menu cliccato:
Print azione
End
Anziché sollevare l'evento Action_Activate(), si potrà sollevare l'evento " _Click() " del secondo sub-Menu cliccato. In tal caso il precedente codice viene così modificato:
Public Sub Form_MouseUp()
Dim menu1, submenu1, submenu2 As Menu
Dim j, k, b As Byte
' Se dunque si è cliccato con il tasto destro:
If Mouse.Right Then
' Crea innanzitutto il Menu principale:
menu1 = New Menu(Me)
' Poi crea quattro sotto-Menu:
For j = 1 To 4
submenu1 = New Menu(menu1)
' Mostra il testo per ciascuno dei quattro sotto-Menu:
submenu1.Text = "submenu1_" & CStr(j)
' Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:
For k = 1 To 3
submenu2 = New Menu(submenu1) As "Submenu2"
b += 1
' Mostra il testo per ciascuno dei tre sotto-Menu:
submenu2.Text = "submenu2_" & CStr(b)
Next
Next
' Mostra quindi le finestre di ciascun Menu:
menu1.Popup
Endif
End
Public Sub Submenu2_Click()
' Vediamo semplicemente il testo dell'ultimo sotto-Menu cliccato:
Print Last.Text
End