English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Eventi RD3

On Generic Drop

evento link

Condizioni di notifica

Al termine di una operazione di drag&drop generico in cui un oggetto è stato tirato su questo pannello con successo, esso notifica questo evento per permettere di gestire i dati trascinati.

Utilizzo consigliato

Questo evento deve essere usato per gestire il risultato dell'operazione di drag & drop. Se non si implementa questo evento, nella versione attuale il framework non esegue alcuna azione di default.

Argomenti

DragInfo E' un parametro di tipo stringa, valorizzato dall'evento OnGenericDrag, che indica i dati coinvolti nell'operazione di drag&drop.
Cancel E' un parametro di uscita di tipo booleano che può essere impostato a True per impedire l'azione di default del framework. Anche se il pannello non ha alcuna azione di default, si consiglia di impostare il parametro a True nel caso che il drop sia gestito dall'evento.
Button Rappresenta il bottone del mouse con cui è stata effettuata l'operazione di drag & drop. I possibili valori sono elencati nella lista MouseButtons.
X E' la posizione X, espressa in pixel e relativa al pannello, in cui è avvenuto il drop dell'oggetto.
Y E' la posizione Y, espressa in pixel e relativa al pannello, in cui è avvenuto il drop dell'oggetto.
XB E' la posizione X, espressa in pixel e relativa al browser, in cui è avvenuto il drop dell'oggetto.
YB E' la posizione Y, espressa in pixel e relativa al browser, in cui è avvenuto il drop dell'oggetto.
Column E' l'indice del campo su cui stato trascinato l'oggetto. Usa la funzione Me dell'oggetto campo per confrontare il valore di questo argomento. Può valere -1 se il drop è avvenuto al di fuori dei campi.
Row E' il numero della riga del pannello su cui è avvenuto il drop. Può valere da zero a VisibleRows-1, oppure -1 se il drop è avvenuto al di fuori dei campi.
Document E' il documento sotteso alla riga su cui è stato trascinato l'oggetto. Può essere NullObject se l'oggetto è stato trascinato al di fuori dei campi, oppure su una riga vuota, oppure se il pannello non è DO.

Esempio di codice

NOTA: l'esempio riportato è quello relativo al book in quanto l'uso dell'evento è analogo.

// **********************************************************************************
// Evento notificato dal book quando l'utente esegue un operazione di drop su di esso
// **********************************************************************************

event Desktop.LibroDesktop.OnGenericDrop(
  string DragInfo // 
  inout boolean Cancel // 
  int Button      // 
  float X         // 
  float Y         // 
  int XB          // 
  int YB          // 
  int BoxID       // 
)
{
  // Mi è stato tirato sopra un documento...
  if NOT(ActivedDocument IS Null Object)
  {
    // Sopra al desktop, creo icona
    if BoxID = LibroDesktop.SfondoDesktop.Me()
    {
      IDDocument d := ActivedDocument // Actived Document
      IDDocumentStructure ds := d.GetStructure() // d.Get Structure ()
      string icon := Replace(ds.Icon, C16, C32) // Replace (ds.Icon, C16, C32)
      int newx := X - Offset Icona
      int newy := Y - Offset Icona
      // 
      newx := newx - newx % Larghezza griglia X + Offset Bordo
      newy := newy - newy % Larghezza griglia Y + Offset Bordo
      // 
      // Creo l'icona nel desktop

      insert values into Desktop
         set Descrizione := d.GetName(ZERO)
         set Tooltip := d.GetName(ONE)
         set Immagine := icon
         set IDImpiegato := Webtop.DatiSessione.IDImpiegato
         set PosY := newy
         set PosX := newx
         
  • Durante la chiamata a questo evento il pannello NON è stato posizionato sulla riga in fase di drop, quindi è necessario leggere i dati della riga coinvolta nel drop usando i parametri Column, Row o Document.
  • I dati dell'oggetto trascinato possono essere letti dal parametro DragInfo, oppure passati tramite la proprietà di applicazione ActivedDocument.

Ultima modifica: 25/10/2016 / Validità: da 8.5.3800

Vedi Anche

  • Actived Document (proprietà)
  • Mouse Buttons (lista valori)
  • Me (funzione)
  • On Generic Drag (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum