SETDRAGOBJECT
La specifica '@SETDRAGOBJECT permette di definire i dati da utilizzare come origine nella operazione di DRAG&DROP.
La funzione va impiegata esclusivamente nella callback di programma indicata nel parametro DRAG.
I dati che possono essere oggetto di trascinamento sono:
- Un elenco di valori di variabili di programma. In questo caso solo un programma BC può ricevere tale elenco di valori.
- Un elenco di files. In questo caso sia un progamma BC che un programma di terze parti può ricevere tale elenco
- Un testo. Sia un programma BC sia un programma di terze parti può ricevere il testo.
- Una variabile di testo da utilizzare per l'azione di DROP sul controllo Planner
L'impiego di una delle modalità previste dalla funzione è comunque subordinato a quanto specificato nel parametro DRAG, secondo la seguente tabella:
| Valore | Descrizione |
|---|---|
| TESTO | Testo semplice |
| FILE | Elenco di files |
| PLANNER | Testo per azione di DROP su un Planner |
| (altro) | Elenco di variabili di programma BC |
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| VALS | |||||
| NOMEFILE | Alfanumerico | ||||
| TESTO | Alfanumerico | ||||
| PLANNER |
VALS
Elenco di variabili di programma il cui valore deve essere memorizzato all'interno della struttura utilizzata per l'operazione di DRAG&DROP. Costanti o variabili di tipo numerico o alfanumerico.
NOMEFILE
Nome del file da utilizzare nel DRAG&DROP, completo di percorso.
E' possibile specificare più file separandoli da una virgola ','.
Costante racchiusa tra doppi apici, variabile di tipo stringa o blob.
TESTO
Testo da visualizzare durante il DRAG&DROP.
Costante racchiusa tra doppi apici o variabile di tipo stringa.
PLANNER
Variabile di tipo stringa da utilizzare nel DRAG&DROP quando l'azione di rilascio va applicata su un controllo di tipo PLANNER (definito tramite la specifica '@DEFPLANNER).
Costante racchiusa tra doppi apici, variabile di tipo stringa o blob.
Esempi
Esempio
DIM articolo[CLASSE[BLD_ART]]
'@DEFVID DIM[35,140] NOME[Videata] ID["IDVIDEATA"] TIT["Titolo Videata"]
'@DEFGRIDPANEL NOME[GridPanel] ID["GridPanel"] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[32] LAYOUT[#DINAMICO]] _
RIGA[ALTEZZA[1] LAYOUT[#FISSO]] _
RIGA[ALTEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]] _
COLONNA[LUNGHEZZA[138] LAYOUT[#DINAMICO]] _
COLONNA[LUNGHEZZA[0.5] LAYOUT[#FISSO]]
' Definizione controlli di videata specificando DRAG[TIPO["VALUES"] AZIONE[OnDrag()]]
'@ENDGRIDPANEL NOME[GridPanel]
'@RUNVID
...
'@SRP OnDrag()
' Esempio di variabile su cui eseguire il DRAG
DIM dragVar[STRING]
' Logica per valorizzare la variabile dragVar
'@SETDRAGOBJECT VALS[dragVar]
Return