Creare Menu popup da codice: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 1: | Riga 1: | ||
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: | 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 | '''Public''' Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | ||
Dim menu1, submenu1, submenu2 As Menu | Dim menu1, submenu1, submenu2 As Menu | ||
Dim j | Dim j, b As Byte | ||
<FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | <FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | ||
menu1 = New Menu(Me) | |||
<FONT color=gray>' ''Poi crea quattro sotto-Menu:''</font> | <FONT color=gray>' ''Poi crea quattro sotto-Menu:''</font> | ||
For j = 1 To 4 | |||
submenu1 = New Menu(menu1) | |||
<FONT color=gray>' ''Mostra il testo per ciascuno dei quattro sotto-Menu:''</font> | <FONT color=gray>' ''Mostra il testo per ciascuno dei quattro sotto-Menu:''</font> | ||
submenu1.Text = "submenu1_" & CStr(j) | |||
<FONT color=gray>' ''Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:''</font> | <FONT color=gray>' ''Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:''</font> | ||
For b = 1 To 3 | |||
submenu2 = New Menu(submenu1) | |||
<FONT color=gray>' ''Mostra il testo per ciascuno dei tre sotto-Menu:''</font> | <FONT color=gray>' ''Mostra il testo per ciascuno dei tre sotto-Menu:''</font> | ||
submenu2.Text = "submenu2_" & CStr(b) | |||
<FONT color=gray>' ''Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, | <FONT color=gray>' ''Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, il testo del secondo sotto-Menu medesimo:''</font> | ||
submenu2.Action = submenu2.Text | |||
Next | Next | ||
Next | |||
<FONT color=gray>' ''Mostra quindi le finestre di ciascun Menu:''</font> | <FONT color=gray>' ''Mostra quindi le finestre di ciascun Menu:''</font> | ||
menu1.Popup | |||
'''End''' | '''End''' | ||
| Riga 48: | Riga 40: | ||
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: | 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 | '''Public''' Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | ||
Dim menu1, submenu1, submenu2 As Menu | Dim menu1, submenu1, submenu2 As Menu | ||
Dim j | Dim j, b As Byte | ||
<FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | <FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | ||
menu1 = New Menu(Me) | |||
<FONT color=gray>' ''Poi crea quattro sotto-Menu:''</font> | <FONT color=gray>' ''Poi crea quattro sotto-Menu:''</font> | ||
For j = 1 To 4 | |||
submenu1 = New Menu(menu1) | |||
<FONT color=gray>' ''Mostra il testo per ciascuno dei quattro sotto-Menu:''</font> | <FONT color=gray>' ''Mostra il testo per ciascuno dei quattro sotto-Menu:''</font> | ||
submenu1.Text = "submenu1_" & CStr(j) | |||
<FONT color=gray>' ''Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:''</font> | <FONT color=gray>' ''Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:''</font> | ||
For b = 1 To 3 | |||
submenu2 = New Menu(submenu1) As "Submenu2" | |||
<FONT color=gray>' ''Mostra il testo per ciascuno dei tre sotto-Menu:''</font> | <FONT color=gray>' ''Mostra il testo per ciascuno dei tre sotto-Menu:''</font> | ||
submenu2.Text = "submenu2_" & CStr(b) | |||
<FONT color=gray>' ''Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, il testo del secondo sotto-Menu medesimo:''</font> | |||
submenu2.Action = submenu2.Text | |||
Next | Next | ||
Next | |||
<FONT color=gray>' ''Mostra quindi le finestre di ciascun Menu:''</font> | <FONT color=gray>' ''Mostra quindi le finestre di ciascun Menu:''</font> | ||
menu1.Popup | |||
'''End''' | '''End''' | ||
Versione delle 05:28, 15 apr 2021
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_Menu() ' Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.
Dim menu1, submenu1, submenu2 As Menu
Dim j, b As Byte
' 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 b = 1 To 3
submenu2 = New Menu(submenu1)
' 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
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_Menu() ' Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.
Dim menu1, submenu1, submenu2 As Menu
Dim j, b As Byte
' 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 b = 1 To 3
submenu2 = New Menu(submenu1) As "Submenu2"
' 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
End
Public Sub Submenu2_Click()
' Vediamo semplicemente il testo dell'ultimo sotto-Menu cliccato:
Print Last.Text
End