GETDROPPEDOBJECT
La specifica '@GETDROPPEDOBJECT consente di leggere le informazioni dell'oggetto rilasciato su un determinato controllo.
La funzione va impiegata esclusivamente nella callback di programma indicata nel parametro DROP.
I dati che possono essere oggetto di trascinamento e che possono essere gestiti in un programma BC sono:
- Un elenco di valori di variabili di programma. In questo caso solo un programma BC può ricevere tale elenco di valori.
- Un file o elenco di files. I files possono provenire da un programma BC oppure da un programma di terze parti (ad esempio esplora risorse). In caso di elenco di files, la variabile restituita alla specifica conterrà i nomi dei files separati da un carattere pipe '|'.
- Un testo. Il testo può provenire da un programma BC oppure da un programma di terze parti.
L'impiego di una delle modalità previste dalla funzione è comunque subordinato a quanto specificato nel parametro DROP, secondo la seguente tabella:
| Valore | Descrizione |
|---|---|
| TESTO | Testo semplice |
| FILE | Elenco di files |
| (altro) | Elenco di variabili di programma BC |
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| VARS |
VARS
Specifica l'elenco delle variabili di programma in cui devono essere riportati i valori memorizzati all'interno della struttura utilizzata per l'operazione di DRAG&DROP.
L'operazione di valorizzazione delle variabili esegue un controllo tra il tipo della variabile indicato ed il valore contenuto nella struttura utilizzata per l'operazione di DRAG&DROP, segnalando eventualmente l'anomalia.
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 DROP[TIPO["VALUES"] AZIONE[OnDrop()]]
'@ENDGRIDPANEL NOME[GridPanel]
'@RUNVID
...
'@SRP OnDrop()
' Variabile che verrà valorizzata tramite GETDROPPEDOBJECT
' Con il valore specificato all'interno della specifica SETDRAGOBJECT VALS[...]
DIM droppedVar[STRING]
' Valorizzazione variabile con il valore su cui si sta eseguendo il DRAG
'@GETDROPPEDOBJECT VARS[droppedVar]
Return