|
|
(12 versioni intermedie di uno stesso utente non sono mostrate) |
Riga 1: |
Riga 1: |
− | Come è noto, per creare un classico Menu si utilizza l'apposito Editor, che viene aperto premendo i due tasti ctrl + e; ma qui prendiamo in considerazione la possibilità di realizzare un Menu mediante il codice. |[[#Note|1]]|
| + | #REDIRECT [[Creare_Menu_da_codice_e_non_con_l'Editor-Menu]] |
− | | |
− | Dovremo, inoltre, collegare un evento alle sotto-voci del Menu principale, che venga solleato quando clicchiamo su una di quelle.
| |
− | Prendiamo in considerazione tre modalità.
| |
− | | |
− | | |
− | ==Creando una routine-evento per ciascuna sotto-voce del Menu==
| |
− | <FONT color=#006400>' ''Dichiariamo il Menu principale:''</font>
| |
− | '''Private''' mn As Menu
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | <FONT color=#006400>' ''Dichiariamo anche le sotto-voci del Menu:''</font>
| |
− | Dim mn1 As Menu
| |
− | Dim mn2 As Menu
| |
− | Dim mn3 As Menu
| |
− | Dim mn4 As Menu
| |
− |
| |
− | <FONT color=#006400>' ''Impostiamo il Menu principale, impostando come "contenitore" il Form:''</font>
| |
− | mn = New Menu(Me)
| |
− |
| |
− | <FONT color=#006400>' ''Gli diamo il testo che sarà mostrato:''</font>
| |
− | mn.Caption = "File"
| |
− |
| |
− | <FONT color=#006400>' ''Attribuiamo al Menu principale le sue sotto-voci,
| |
− | ' alle quali diamo il testo che sarà mostrato,
| |
− | ' e come "contenitore" il Menu principale:''</font>
| |
− | mn1 = New Menu(mn, False)
| |
− | With mn1
| |
− | <FONT color=#006400>' ''Facciamo mostrare la denominazione della sotto-voce mediante ".Caption":''</font>
| |
− | .Caption = "Nuovo"
| |
− | .Name = "Nuovo"
| |
− | End With
| |
− |
| |
− | mn2 = New Menu(mn, False)
| |
− | With mn2
| |
− | .Caption = "Apri"
| |
− | .Name = "Apri"
| |
− | End With
| |
− |
| |
− | mn3 = New Menu(mn, False)
| |
− | With mn3
| |
− | .Caption = "Salva con nome..."
| |
− | .Name = "Salva con nome..."
| |
− | End With
| |
− |
| |
− | mn4 = New Menu(mn, False)
| |
− | With mn4
| |
− | .Caption = "Esci"
| |
− | .Name = "Esci"
| |
− | End With
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub mn1_Click()
| |
− |
| |
− | <FONT color=#006400>' ''qui fa qualcosa...''</font>
| |
− |
| |
− | '''End'''
| |
− |
| |
− | '''Public''' Sub mn2_Click()
| |
− |
| |
− | etc etc
| |
− | ...
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ==Assegnando un medesimo gruppo alle sotto-voci del Menu==
| |
− | '''Private''' mn As Menu
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim mn1 As Menu
| |
− | Dim i As Integer
| |
− |
| |
− | mn = New Menu(FMain)
| |
− | mn.Caption = "File"
| |
− |
| |
− | <FONT color=#006400>' ''Per far apparire nel Menu principale le sue sotto-voci con "specifiche" denominazioni:''</font>
| |
− | For i = 0 To 3
| |
− | Select Case i
| |
− | Case 0
| |
− | testo = "Nuovo"
| |
− | Case 1
| |
− | testo = "Apri"
| |
− | Case 2
| |
− | testo = "Salva con nome..."
| |
− | Case 3
| |
− | testo = "esci"
| |
− | End Select
| |
− |
| |
− | <FONT color=#006400>' ''Crea una nuova sotto-voce del Menu principale:''</font>
| |
− | tmp = New Menu(mn1) As "menu1"
| |
− | tmp.Caption = testo
| |
− | tmp.Name = testo
| |
− | tmp.Tag = "tag" & i
| |
− |
| |
− | Next
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub menu1_Click()
| |
− |
| |
− | <FONT color=#006400>' ''Riscontriamo quale sotto-voce abbiamo scelto:''</font>
| |
− | Message.Info("Hai premuto il sotto-menu " & Last.Name)
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | ==Associando ciascuna sotto-voce, in qualità di oggetto, ad un evento==
| |
− | '''Private''' mn As Menu
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | Dim mn1 As Menu
| |
− | Dim mn2 As Menu
| |
− | Dim mn3 As Menu
| |
− | Dim mn4 As Menu
| |
− | Dim testo As String
| |
− |
| |
− | mn = New Menu(Fmain)
| |
− | mn.Caption = "File"
| |
− |
| |
− | mn1 = New Menu(mn, False)
| |
− | With mn1
| |
− | <FONT color=#006400>' ''Facciamo mostrare la denominazione della sotto-voce mediante ".Caption":''</font>
| |
− | .Caption = "Nuovo"
| |
− | .Name = "Nuovo"
| |
− | End With
| |
− |
| |
− | mn2 = New Menu(mn, False)
| |
− | With mn2
| |
− | .Caption = "Apri"
| |
− | .Name = "Apri"
| |
− | End With
| |
− |
| |
− | mn3 = New Menu(mn, False)
| |
− | With mn3
| |
− | .Caption = "Salva con nome..."
| |
− | .Name = "Salva con nome..."
| |
− | End With
| |
− |
| |
− | mn4 = New Menu(mn, False)
| |
− | With mn4
| |
− | .Caption = "Esci"
| |
− | .Name = "Esci"
| |
− | End With
| |
− |
| |
− | Object.Attach(mn1, Me, "ev")
| |
− | Object.Attach(mn2, Me, "ev")
| |
− | Object.Attach(mn3, Me, "ev")
| |
− | Object.Attach(mn4, Me, "ev")
| |
− |
| |
− | '''End'''
| |
− |
| |
− |
| |
− | '''Public''' Sub ev_Click()
| |
− |
| |
− | Dim obj As Object = Last
| |
− |
| |
− | <FONT color=#006400>' ''Riscontriamo quale sotto-voce abbiamo scelto:''</font>
| |
− | Message.Info("Hai premuto il menu " & Last.Name)
| |
− |
| |
− | '''End'''
| |
− | | |
− | | |
− | | |
− | =Note=
| |
− | [1] Dobbiamo ringraziare gli utenti ''fsurfing'' e ''milio'' del forum gambas-it.org per i suggerimenti offerti al riguardo.
| |