Creare Menu popup da codice: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
(Creata pagina con "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 presen...") |
Nessun oggetto della modifica |
||
| Riga 5: | Riga 5: | ||
Dim j, k, b As Byte | Dim j, k, b As Byte | ||
<FONT color=gray>' ''Se dunque si è cliccato con il tasto destro:''</font> | <FONT color=gray>' ''Se dunque si è cliccato con il tasto destro:''</font> | ||
If Mouse.Right Then | |||
<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 k = 1 To 3 | |||
submenu2 = New Menu(submenu1) | |||
Inc b | |||
<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> | ' ''il testo del secondo sotto-Menu medesimo:''</font> | ||
submenu2.Action = submenu2.Text | |||
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 | |||
Endif | |||
'''End''' | '''End''' | ||
| Riga 53: | Riga 52: | ||
Dim menu1, submenu1, submenu2 As Menu | Dim menu1, submenu1, submenu2 As Menu | ||
Dim j, k, b As Byte | Dim j, k, b As Byte | ||
<FONT color=gray>' ''Se dunque si è cliccato con il tasto destro:''</font> | <FONT color=gray>' ''Se dunque si è cliccato con il tasto destro:''</font> | ||
If Mouse.Right Then | |||
<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 k = 1 To 3 | |||
submenu2 = New Menu(submenu1) As "Submenu2" | |||
Inc b | |||
<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) | |||
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 | |||
Endif | |||
'''End''' | '''End''' | ||
| Riga 88: | Riga 86: | ||
<FONT color=gray>' ''Vediamo semplicemente il testo dell'ultimo sotto-Menu cliccato:''</font> | <FONT color=gray>' ''Vediamo semplicemente il testo dell'ultimo sotto-Menu cliccato:''</font> | ||
Print Last.Text | |||
'''End''' | '''End''' | ||
Versione delle 04:21, 21 ago 2020
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)
Inc b
' 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"
Inc b
' 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