DEFCONTEXTMENU
Dalla versione 25.3 è consigliato utilizzare la nuova specifica @DEFCONTEXTMENUDYN.
Consente di definire un menù contestuale indipendentemente dal controllo di appartenenza.
I parametri si possono raggruppare in:
- Parametri generali relativi al menù di contesto propriamente detto
- Parametri relativi alla singola voce del menù di contesto e che devono essere ripetuti in sequenza per ogni voce che si intende aggiungere al menù
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| IDMENU | Stringa | ||||
| NASCOSTO | Condizione | ||||
| DISABILITATO | Condizione | ||||
| TITOLO | |||||
| SEPARATORE | Intero | ||||
| IDVOCE | Stringa | ||||
| AZIONE | |||||
| IMMAGINE | Variabile | ||||
| ACCELERATORE | Stringa | ||||
| NASCOSTA | Condizione | ||||
| DISABILITATA | Condizione | ||||
| SELEZIONATA | Condizione | ||||
| CONVARIABILI | Intero | ||||
| VALIDAZIONE | Intero | ||||
| VALIDADATI | Enumerazione |
IDMENU
Consente di specificare l'identificatore univoco del menù di contesto.
NASCOSTO
Consente di nascondere il menù.
Se non presente, il menù è visibile di default.
DISABILITATO
Permette di indicare se il menu di contesto è abilitato o disabilitato.
Se il menu è disabilitato, tutte le sue voci appariranno di un colore grigio scuro, e non sarà possibile eseguire le azioni ad esse associate.
Se il valore non è specificato, il menu contestuale è abilitato.
TITOLO
Definisce la descrizione della voce corrente visualizzata sul menù.
- Dalla versione 26.1 il parametro SEPARATORE va indicato fuori dal parametro TITOLO.
- Il parametro titolo deve essere SEMPRE il primo della voce di menù che si sta definendo.
- TitoloVoce e SEPARATORE sono esclusivi. Se il parametro SEPARATORE è indicato, i parametri AZIONE, ACCELERATORE e CONVARIABILI verranno ignorati, poiché si intende inserire una voce che ha la sola funzione di separatore tra le voci vere e proprie del menù.
SEPARATORE
Permette di indicare se la voce di menù è un separatore.
- È comunque necessario indicare anche il parametro TITOLO con stringa vuota ('') perché tale parametro è utilizzato come separatore di voci.
- Se si indica SEPARATORE i parametri AZIONE, ACCELERATORE, CONVARIABILI verranno ignorati poiché si intende inserire una voce che ha la sola funzione di separatore tra le voci vere e proprie del menù.
IDVOCE
Specifica l'identificativo univoco di ogni singola voce appartenente al menù di contesto.
Tale identificativo può essere utilizzato per richiamare la voce di menù da un tasto di una toolbar indicando nel suo parametro AZIONE la sintassi MENU['IdMenu'] DEFAULT['IdVoce'].
AZIONE
Permette di specificare l'azione da eseguire in seguito al click sulla voce del menù contestuale.
IMMAGINE
Specifica il nome del file contenente l'immagine o la risorsa immagine da visualizzare sulla voce di menù.
L'immagine deve avere dimensioni 16x16.
ACCELERATORE
Attributo di definizione del tasto che, se premuto, ha lo stesso effetto del click sul bottone.
I tasti ammessi sono combinazioni di <Ctrl+Alt> oppure solo <Alt> e un carattere della tastiera. Il formalismo prevede la notazione 'Ctrl-Alt+' oppure 'Alt+' seguita dal carattere scelto (es.: 'Ctrl+Alt+G', 'Alt+H'). I caratteri ammessi sono: lettere, numeri e i seguenti caratteri speciali +-*/.
È possibile formare una combinazione acceleratrice con i caratteri +-*/ soltanto se selezionati da tastierino alfanumerico.
- Alcune combinazioni di tasti sono state riservate per il richiamo rapido da tastiera delle funzionalità messe a disposizione dall'ambiente di sviluppo
- Dalla versione 26.1 del traduttore, il valore del parametro va indicato tra doppi apici.
Il dettaglio degli shortcut utilizzati dall'ambiente di esecuzione builder è disponibile nella scheda 'ACCELERATORE[] - Acceleratori utilizzabili sui controlli a video'.
NASCOSTA
Consente di nascondere la voce corrente.
Se non presente, la voce di menù è visibile di default.
DISABILITATA
Permette di indicare se la voce del menù di contesto è abilitata o disabilitata.
Se la voce del menu è disabilitata apparirà con un colore grigio scuro, e non sarà possibile eseguire l'azione ad essa associata.
Se il valore non è specificato, la voce di menù è abilitata.
SELEZIONATA
Attributo di selezione (spunta) della voce di menù.
Se la voce è selezionata, al suo fianco sarà presente un segno di spunta.
CONVARIABILI
La presenza del parametro permette l'acquisizione delle variabili della videata prima di eseguire l'azione richiesta.
L'indicazione del parametro, quindi, consente:
- Prima di eseguire l'azione associata al bottone, di produrre le decodifiche della videata e i relativi controlli di validità sui valori immessi, bloccando l'esecuzione dell'azione nel caso di errore
- Dopo l'esecuzione dell'azione associata al bottone, di rivalutare le decodifiche e i condizionamenti espressi sui controlli della videata
VALIDAZIONE
???
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | No |
1 | Si |
VALIDADATI
Parametro necessario per eseguire la validazione prima dell'azione definita sul tasto.
Parametro enumerato, può assumere i seguenti valori:
| Valore | Descrizione |
|---|---|
PROPRIETA | |
OGGETTO | |
NESSUNA | |
PROPRIETANORIGA |
Esempi
Definizione di un sottomenu contenente un altro sottomenu
'@DEFVID DIM[35,140] NOME[Videata] ID["IDVIDEATA"] TIT["Titolo Videata"]
' Definizione di un sottomenu. Il sottomenu va definito prima del menu a cui deve fare riferimento
'@DEFCONTEXTMENU IDMENU["SOTTOMENU_GESTIONEAVANZATA_FORNITORE"] _
TITOLO["e modifica StatoAnagrafica"] AZIONE[CopiaEModificaStatoAnagrafica()]
' Definizione di un sottomenu. Il sottomenu va definito prima del menu a cui deve fare riferimento
'@DEFCONTEXTMENU IDMENU["SOTTOMENU_COPIA"] _
TITOLO["come cliente"] AZIONE[CopiaComeCliente()] ACCELERATORE["Alt+X"] _
TITOLO["come fornitore"] AZIONE[MENU["SOTTOMENU_GESTIONEAVANZATA_FORNITORE"]]
' Definizione menu contestuale
'@DEFCONTEXTMENU IDMENU["IDMENU"] _
TITOLO["Nuovo Cliente"] AZIONE[CreaCliente()] ACCELERATORE["F7"] _
TITOLO["Copia da anagrafica"] AZIONE[MENU["SOTTOMENU_COPIA"]] 'Viene chiamato il sottomenu tramite l'ID assegnato
'@DEFGRIDPANEL NOME[GridPanel] ID["GridPanel"] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[34] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[139] LAYOUT[#DINAMICO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]]
' Definizione campo di input
'@DEFEDIT VAR[EditVar] ID["EDIT_VAR"] FMT[TESTO[20]] POS[1,1] DIM[1,1] RET[1,1] _
IDMENU["IDMENU"] _
GRID[COL[2] RIGA[2] RIGADIN[1] COLDIN[1]]
'@ENDGRIDPANEL NOME[GridPanel]
'@RUNVID
Definizione di un sottomenu
'@DEFVID DIM[35,140] NOME[Videata_2] ID["IDVIDEATA"] TIT["Titolo Videata"]
' Definizione di un sottomenu. Il sottomenu va definito prima del menu a cui deve fare riferimento
'@DEFCONTEXTMENU IDMENU["SOTTOMENU_COPIA"] _
TITOLO["come cliente"] AZIONE[CopiaComeCliente()] ACCELERATORE["Alt+X"] _
TITOLO["come fornitore"] AZIONE[CopiaComeFornitore()]
' Definizione menu contestuale
'@DEFCONTEXTMENU IDMENU["IDMENU"] _
TITOLO["Nuovo Cliente"] AZIONE[CreaCliente()] ACCELERATORE["F7"] _
TITOLO["Copia da anagrafica"] AZIONE[MENU["SOTTOMENU_COPIA"]] 'Viene chiamato il sottomenu tramite l'ID assegnato
'@DEFGRIDPANEL NOME[GridPanel_2] ID["GridPanel"] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[34] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[139] LAYOUT[#DINAMICO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]]
' Definizione campo di input
'@DEFEDIT VAR[EditVar] ID["EDIT_VAR"] FMT[TESTO[20]] POS[1,1] DIM[1,1] RET[1,1] _
IDMENU["IDMENU"] _
GRID[COL[2] RIGA[2] RIGADIN[1] COLDIN[1]]
'@ENDGRIDPANEL NOME[GridPanel_2]
'@RUNVID
Esempio
'@DEFVID DIM[35,140] NOME[Videata_3] ID["IDVIDEATA"] TIT["Titolo Videata"]
' Definizione menu contestuale
'@DEFCONTEXTMENU IDMENU["IDMENU"] _
TITOLO["Azione1"] AZIONE[CallAzione1()] IMMAGINE["ELIMINA_32"]
'@DEFGRIDPANEL NOME[GridPanel_3] ID["GridPanel"] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[34] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[139] LAYOUT[#DINAMICO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]]
' Definizione campo di input
'@DEFEDIT VAR[EditVar] ID["EDIT_VAR"] FMT[TESTO[20]] POS[1,1] DIM[1,1] RET[1,1] _
IDMENU["IDMENU"] _
GRID[COL[2] RIGA[2] RIGADIN[1] COLDIN[1]]
'@ENDGRIDPANEL NOME[GridPanel_3]
'@RUNVID
...
'@SRP CallAzione1()
' Richiamo azione 1
Return