English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Reportistica
  • Libreria Book
  • Drag & Drop

On Box Transform

evento copia link

Condizioni di notifica

Questo evento viene notificato dal book quando la posizione o le dimensioni di una box trasformabile del book vengono modificate dall'utente.

Utilizzo consigliato

L'evento di OnBoxTransform viene normalmente utilizzato quando si vuol permettere all'utente di muovere e/o ridimensionare una o più box in un book. L'evento viene notificato quando una box trasformabile viene spostata o ridimensionata.

Affinché la box sia trasformabile occorre che la proprietà CanTransform della box sia impostata a True. E' anche possibile comunicare a design-time che la box è trasformabile attivando il corrispondente flag nella videata delle proprietà della box.

Argomenti

Box ID E' un numero intero che identifica univocamente la box che è stata spostata e/o ridimensionata. E' possibile utilizzare la funzione Me della box per effettuare i confronti
New X E' un numero decimale che contiene la nuova coordinata X (Left) della box in mm. Tale valore è relativo all'oggetto che contiene la box (pagina o sezione)
New Y E' un numero decimale che contiene la nuova coordinata Y (Top) della box in mm. Tale valore è relativo all'oggetto che contiene la box (pagina o sezione)
New Width E' un numero decimale che contiene la nuova larghezza della box in mm
New Height E' un numero decimale che contiene la nuova altezza della box in mm
Cancel E' un parametro booleano di input/output che può essere impostato a True per annullare l'operazione effettuata dall'utente e ripristinare automaticamente le dimensioni e coordinate della box

Esempio di codice

// *****************************************************
// Fired when a box's dimensions or position are changed
// *****************************************************

event BookDD.BookDD.OnBoxTransform(
  int BoxID       // Box that have been changed. Use the Me property of th...
  float NewX      // 
  float NewY      // 
  float NewWidth  // 
  float NewHeight // 
  inout boolean Cancel // Set to TRUE to cancel the box change
)
{
  int IDPezzoDaAggiornare = 0 // 
  // 
  // Se esce dalla pagina... annullo l'operazione

  if NewX + NewWidth > BookDD.PageBody.Width OR NewX < ZERO OR NewY +
    NewHeight > BookDD.PageBody.Height OR NewY < ZERO
  {
    Cancel := True
    return
  }
  // 
  // Mi posiziono sulla riga della box modificata e recupero l'ID del pezzo da
  // aggiornare

  BookDD.ShowDragBox()
  IDPezzoDaAggiornare := BookDD.IDPezzo
  // 
  // Aggiorno le coordinate e le dimensioni della box modificata

  update Pezzi
    set Left := NewX
    set Top := NewY
    set Width := NewWidth
    set Height := NewHeight
  where
    ID = IDPezzoDaAggiornare
}
  • Qualora una delle coordinate o dimensioni non sia stata modificata il valore dell'argomento risulterà uguale al valore corrente della box. Per esempio se la larghezza della box non è cambiata il valore del parametro NewWidth coinciderà con la larghezza della box.
  • E' possibile utilizzare la procedura ShowDragBox per spostare le query del book alla posizione che avevano quando la box modificata è stata formattata e stampata. In questo modo è possibile leggere i valori delle colonne delle query del book per ottenere informazioni circa la box modificata.

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

Vedi Anche

  • Can Transform (proprietà)
  • Show Drag Box (procedura)
  • Me (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum