Condizioni di notifica
L'evento di OnChangeLocking viene segnalato dal pannello quando il pannello sta per essere bloccato o sbloccato. Questo può avvenire nelle seguenti condizioni:
- L'utente preme il tasto lucchetto nella toolbar del pannello.
- Il programma modifica l'impostazione della proprietà Locked del pannello.
- Un altro pannello nella stessa videata viene bloccato o sbloccato e la proprietà Lockable del pannello è True.
Utilizzo consigliato
L'evento di OnChangeLocking può essere utilizzato per aggiornare le parti dell'interfaccia utente che dipendono dallo stato di lock di un pannello, ad esempio è possibile sincronizzare lo sblocco di più pannelli.
E' possibile impedire lo sblocco del pannello impostando a False il parametro Cancel, quindi con questo evento è possibile verificare se ci sono tutte le condizioni per cui un pannello può essere sbloccato o bloccato.
Argomenti
New Value | False se il pannello sta per essere sbloccato (Locked sta per diventare False), True se sta per essere bloccato (Locked sta per diventare True). |
Cancel | E' un parametro di uscita che può essere impostato a True se si desidera impedire l'operazione di blocco o sblocco. |
Esempio di codice
// ************************************************
// Fired when the panel locked property is changing
// ************************************************
event Ordini.Ordini.OnChangeLocking(
boolean NewValue // New value of the Locked property
inout boolean Cancel // Set to TRUE to abort layout switching
)
{
// Se sono in lista e sblocco il pannello...
if Ordini.Layout = List AND NOT(NewValue)
{
// ...mi porto in form
Ordini.Layout := Form
}
}
// Fired when the panel locked property is changing
// ************************************************
event Ordini.Ordini.OnChangeLocking(
boolean NewValue // New value of the Locked property
inout boolean Cancel // Set to TRUE to abort layout switching
)
{
// Se sono in lista e sblocco il pannello...
if Ordini.Layout = List AND NOT(NewValue)
{
// ...mi porto in form
Ordini.Layout := Form
}
}
- Attenzione: se durante la gestione di questo evento si imposta la proprietà Locked di un altro pannello, si deve essere certi che la proprietà Lockable dell'altro pannello sia False, altrimenti si rischia di causare un ciclo infinito.
- Ogni volta che si blocca o sblocca un pannello, glià altri pannelli della stessa videata che hanno la proprietà Lockable a True subiscono anch'essi un blocco o uno sblocco e quindi notificheranno i relativi eventi OnChangeLocking.
Ultima modifica: 24/03/2021 / Validità: da 6.5.2680