Differenze tra le versioni di "Creare Menu popup da codice"
Da Gambas-it.org - Wikipedia.
Riga 6: | Riga 6: | ||
Dim hMenu As Menu | Dim hMenu As Menu | ||
− | Dim | + | Dim VoceMenu As Menu |
Dim NomiVociMenu As String[] = ["Prima voce", "Seconda voce", "Terza voce", "Quarta voce"] | Dim NomiVociMenu As String[] = ["Prima voce", "Seconda voce", "Terza voce", "Quarta voce"] | ||
− | hMenu = New Menu(Me) | + | hMenu = New Menu(Me) |
For Each nome As String In NomiVociMenu | For Each nome As String In NomiVociMenu | ||
− | With | + | With VoceMenu = New Menu(hMenu) |
.text = nome | .text = nome | ||
.Action = .text | .Action = .text |
Versione delle 05:12, 28 lug 2024
Mostreremo due possibili modalità, per creare un menu Popup, cliccando con il tasto destro del mouse ad esempio sul Form:
Sollevando l'Evento "_Activate()" dei sotto-Menu
In questa modalità si userà l'Evento "_Menu()" del Form:
Public Sub Form_Menu() ' Questo Evento si scatena, se si è cliccato sul "Form" con il tasto destro del mouse. Dim hMenu As Menu Dim VoceMenu As Menu Dim NomiVociMenu As String[] = ["Prima voce", "Seconda voce", "Terza voce", "Quarta voce"] hMenu = New Menu(Me) For Each nome As String In NomiVociMenu With VoceMenu = New Menu(hMenu) .text = nome .Action = .text End With Next ' Cliccando sul "Form" con il tasto destro del mouse, si aprirà il "PopMenu"; hMenu.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()" delle voci del Menu
Private hMenu As Menu Public Sub Form_Open() Dim VociMenu As Menu Dim NomiVociMenu As String[] = ["Prima voce", "Seconda voce", "Terza voce", "Quarta voce"] With Me .H = 512 .W = 512 ' Cliccando sul "Form" con il tasto destro del mouse, si aprirà il "PopMenu"; .PopupMenu = "MenuPrincipale" End With hMenu = New Menu(Me) As "MenuPrincipale" For Each nome As String In NomiVociMenu With VociMenu = New Menu(hMenu) As "VociMenu" .text = nome End With Next End Public Sub VociMenu_Click() Print Last.Text End