Condizioni di notifica
Questo evento viene notificato dall'oggetto Tabbed View quando viene cambiata la pagina attiva, condizione che si verifica nei seguenti casi:
- L'utente clicca su una linguetta del Tabbed View.
- Viene utilizzata la procedura SelectPage per cambiare la pagina attiva del Tabbed View da una procedura Visual Code (vedi Note).
Utilizzo consigliato
L'evento di ChangePage può essere utilizzato per verificare se una determinata pagina può essere vista, oppure per preparare la visualizzazione dei dati nella nuova pagina, o infine per organizzare l'interfaccia utente in base alla pagina selezionata.
Argomenti
Previous Page | È un numero intero rappresentante l'indice della pagina precedentemente selezionata nel Tabbed View. Utilizzare la funzione Me del pannello o dell'oggetto visuale contenuto nel Tabbed View per effettuare il confronto. |
Cancel | Se impostato a True annulla il cambio pagina. |
Esempio di codice
// ****************************************************************************
// Nell'evento di Change Page impedisco all'utente di passare al tab degli
// ordini se il pannello dei clienti è in stato QBE.
// ****************************************************************************
event Clienti.ClientiTabbed.ChangePage(
int PreviousPage // It is the previuos page seleted
inout boolean Cancel // Set it to true to abort page change
)
{
// Se l'utente cerca di visualizzare il tab ordini ma il pannello clienti è
// in stato di ricerca (QBE) mostro un messaggio a video e impedisco il
// cambio pagina impostando cancel = True
if ClientiTabbed.SelectedPage() = Ordini.Me() AND Clienti.Status()
= QBE
{
EsempiGL.MessageBox(Prima di selezionare gli ordini...)
Cancel := True
//
return
}
//
// Svuoto l'icona
ClientiIndicator.Icon := Convert(Empty String)
//
// Se l'utente ha selezionato il tab clienti imposto l'icona dell'indicator
if ClientiTabbed.SelectedPage() = Clienti.Me()
{
ClientiIndicator.Icon := Convert(ToImage(Cliente))
}
//
// Se l'utente ha selezionato il tab clienti imposto l'icona dell'indicator
if ClientiTabbed.SelectedPage() = Ordini.Me()
{
ClientiIndicator.Icon := Convert(ToImage(Ordine))
}
}
// Nell'evento di Change Page impedisco all'utente di passare al tab degli
// ordini se il pannello dei clienti è in stato QBE.
// ****************************************************************************
event Clienti.ClientiTabbed.ChangePage(
int PreviousPage // It is the previuos page seleted
inout boolean Cancel // Set it to true to abort page change
)
{
// Se l'utente cerca di visualizzare il tab ordini ma il pannello clienti è
// in stato di ricerca (QBE) mostro un messaggio a video e impedisco il
// cambio pagina impostando cancel = True
if ClientiTabbed.SelectedPage() = Ordini.Me() AND Clienti.Status()
= QBE
{
EsempiGL.MessageBox(Prima di selezionare gli ordini...)
Cancel := True
//
return
}
//
// Svuoto l'icona
ClientiIndicator.Icon := Convert(Empty String)
//
// Se l'utente ha selezionato il tab clienti imposto l'icona dell'indicator
if ClientiTabbed.SelectedPage() = Clienti.Me()
{
ClientiIndicator.Icon := Convert(ToImage(Cliente))
}
//
// Se l'utente ha selezionato il tab clienti imposto l'icona dell'indicator
if ClientiTabbed.SelectedPage() = Ordini.Me()
{
ClientiIndicator.Icon := Convert(ToImage(Ordine))
}
}
- Durante la gestione dell'evento è possibile sapere quale pagina sta per essere visualizzata utilizzando la funzione SelectedPage della Tabbed View. La pagina precedente viene passata nel parametro Previous Page.
- Questo evento non scatta se viene usata la procedura SelectPage da una procedura Visual Code e la Tabbed View ha le linguette nascoste.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680