English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Reportistica
  • Libreria Book
  • Eventi RD3

On Generic Drop

evento copia link

Condizioni di notifica

Al termine di una operazione di drag&drop generico in cui un oggetto è stato tirato su questo book 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 mm e relativa alla box su cui è avvenuto il drop.
Y E' la posizione Y espressa in mm e relativa alla box su cui è avvenuto il drop.
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.
Box ID E' l'indice della box su cui è avvenuto il drop. E' possibile usare la funzione Me dell'oggetto Box per confrontare questo valore.

Esempio di codice

// **********************************************************************************
// 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
         set DocDNA := d.GetDNA()
      // 
      this.Aggiorna()
    }
  }
  // 
  // Sto spostando un icona...

  if ToInteger(DragInfo) > ZERO
    ...
}
  • Durante la chiamata a questo evento il book è già posizionato in relazione alla box su cui è avvenuto il drop. E' quindi possibile leggere i valori delle colonne della master query del report per conoscere i dati relativi alla box coinvolta nel drag&drop.
  • I dati dell'oggetto trascinato possono essere letti dal parametro DragInfo, oppure passati tramite la proprietà di applicazione ActivedDocument.

Ultima modifica: 23/03/2021 / 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