Differenze tra le versioni di "Creare Menu popup da codice"
Da Gambas-it.org - Wikipedia.
(3 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Mostreremo | + | Mostreremo due possibili modalità, 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: |
+ | |||
+ | ==Sollevando l'Evento "_Activate()" dei sotto-Menu== | ||
Public Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | Public Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | ||
− | Dim menu1, | + | Dim menu1, submenu1livello, submenu2livello As Menu |
− | |||
<FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | <FONT color=gray>' ''Crea innanzitutto il Menu principale:''</font> | ||
menu1 = New Menu(Me) | menu1 = New Menu(Me) | ||
− | <FONT color=gray>' ''Poi crea quattro sotto-Menu:''</font> | + | <FONT color=gray>' ''Poi crea quattro sotto-Menu (1° livello dei sotto-menu):''</font> |
− | For j = 1 To 4 | + | For j As Byte = 1 To 4 |
− | + | submenu1livello = 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> | ||
− | + | submenu1livello.Text = "1° livello sotto-Menu" & "_" & CStr(j) | |
− | <FONT color=gray>' ''Poi crea tre sotto-Menu per ciascun precedente sotto-Menu:''</font> | + | <FONT color=gray>' ''Poi crea tre sotto-Menu (2° livello dei sotto-menu) per ciascun precedente sotto-Menu del 1° livello:''</font> |
− | For b = 1 To 3 | + | For b As Byte = 1 To 3 |
− | + | submenu2livello = New Menu(submenu1livello) | |
<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> | ||
− | + | submenu2livello.Text = "2° livello sotto-Menu" & 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> | <FONT color=gray>' ''Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, il testo del secondo sotto-Menu medesimo:''</font> | ||
− | + | submenu2livello.Action = submenu2livello.Text | |
Next | Next | ||
Next | Next | ||
Riga 30: | Riga 31: | ||
− | Public Sub | + | Public Sub Action<FONT color=red>'''_Activate'''</font>(azione As String) As Boolean |
<FONT color=gray>' ''Vediamo semplicemente il testo del sotto-Menu cliccato:''</font> | <FONT color=gray>' ''Vediamo semplicemente il testo del sotto-Menu cliccato:''</font> | ||
Riga 38: | Riga 39: | ||
− | Anziché sollevare l' | + | ==Sollevando l'Evento "_Click()" dei sotto-Menu== |
+ | Anziché sollevare l'Evento "Action_Activate()", si potrà sollevare l'Evento "'_Click()" di un sotto-Menu. | ||
+ | del secondo sub-Menu cliccato. | ||
+ | <BR>Mostriamo un codice, simile al precedente, nel quale viene sollevare l'Evento "'_Click()" el secondo sub-Menu cliccato. | ||
Public Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | Public Sub Form_Menu() <FONT color=gray>' ''Questo Evento si scatena, se si è cliccato con il tasto destro del mouse.''</font> | ||
Riga 70: | Riga 74: | ||
− | Public Sub | + | Public Sub Submenu2<FONT color=red>'''_Click()'''</font>(azione As String) |
<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> |
Versione delle 07:29, 8 lug 2024
Mostreremo due possibili modalità, 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:
Sollevando l'Evento "_Activate()" dei sotto-Menu
Public Sub Form_Menu() ' Questo Evento si scatena, se si è cliccato con il tasto destro del mouse. Dim menu1, submenu1livello, submenu2livello As Menu ' Crea innanzitutto il Menu principale: menu1 = New Menu(Me) ' Poi crea quattro sotto-Menu (1° livello dei sotto-menu): For j As Byte = 1 To 4 submenu1livello = New Menu(menu1) ' Mostra il testo per ciascuno dei quattro sotto-Menu: submenu1livello.Text = "1° livello sotto-Menu" & "_" & CStr(j) ' Poi crea tre sotto-Menu (2° livello dei sotto-menu) per ciascun precedente sotto-Menu del 1° livello: For b As Byte = 1 To 3 submenu2livello = New Menu(submenu1livello) ' Mostra il testo per ciascuno dei tre sotto-Menu: submenu2livello.Text = "2° livello sotto-Menu" & CStr(b) ' Assegna all'azione, quando si cliccherà su uno dei secondi sotto-Menu, il testo del secondo sotto-Menu medesimo: submenu2livello.Action = submenu2livello.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
Sollevando l'Evento "_Click()" dei sotto-Menu
Anziché sollevare l'Evento "Action_Activate()", si potrà sollevare l'Evento "'_Click()" di un sotto-Menu.
del secondo sub-Menu cliccato.
Mostriamo un codice, simile al precedente, nel quale viene sollevare l'Evento "'_Click()" el secondo sub-Menu cliccato.
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 ' Con questa seconda modalità è necessario assegnare ogni sotto-Menu ad un unico Gruppo di Eventi: 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()(azione As String) ' Vediamo semplicemente il testo dell'ultimo sotto-Menu cliccato: Print Last.Text End