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

On Render Toolbar

evento ricorrente copia link

Condizioni di notifica

Questo evento ricorrente viene notificato dal pannello quando esso sta preparando la visualizzazione della toolbar, una volta per ogni comando di pannello in essa contenuto.

Utilizzo consigliato

L'evento di OnRenderToolbar può essere utilizzato per visualizzare o nascondere i pulsanti della toolbar secondo un algoritmo personalizzato. Può essere usato quindi per forzare il comportamento standard del pannello, ad esempio, è possibile visualizzare il comando Insert anche se il pannello è Locked, oppure se la proprietà CanInsert è False.

Argomenti

Command E' un numero intero che rappresenta il comando che sta per essere visualizzato. Può essere confrontato con i valori della lista PanelCommands.
Visible E' un parametro booleano di input/output che può essere impostato per visualizzare o nascondere il comando. Il valore di input indica lo stato del comando secondo il funzionamento standard del pannello.

Note

  • Questo evento può essere reso globale per gestire un comportamento complessivo dell'applicazione.
  • Il fatto che un determinato comando venga reso visibile non significa che il comando verrà poi accettato dal pannello. Probabilmente sarà necessario gestire l'evento di OnCommand (anche nella forma globale) per implementare il comportamento desiderato.
  • L'evento viene notificato durante la fase di renderizzazione dell'interfaccia utente. Non è quindi indicato per modificare il contenuto di altri oggetti di interfaccia o da cui l'interfaccia dipende.
  • L'evento è ricorrente: non è prevedibile quando verrà notificato e quante volte lo sarà. Non sono quindi indicati algoritmi stateful o contenenti query.
  • Questo evento riguarda solo il framework RD2; se si utilizza il framework RD3 l'evento è Obsoleto; si consiglia di utilizzare la funzione SetCommandEnabled.

Esempio di codice

// **********************************************************************************************
// Evento notificato dal pannello durante l'operazione di visualizzazione della toolbar. Utile
// per decidere quali bottoni far apparire se il comportamento standard non è sufficiente
// **********************************************************************************************

event Categorie.Categorie.OnRenderToolbar(
  int Command           // E' un numero intero che rappresenta il comando che sta per essere...
  inout boolean Visible // Viene passato True se il pannello vuole visualizzare il comando. ...
)
{
  // Voglio comunque mostrare il comando di insert, anche se il pannello è locked
  if Command = Insert
  {
    Visible := True
  }
}


// ************************************************************************
// Evento notificato dal pannello prima di eseguire un comando di pannello.
// ************************************************************************

event Categorie.Categorie.OnCommand(
  int Command           // E' un numero intero che rappresenta il comando che sta per essere...
  inout boolean Cancel  // Può essere impostato a True per cancellare il comando.
  boolean UserOperation // Indica se l'operazione è stata avviata dall'utente o da codice
)
{
  if Command = Insert
  {
    // Mi assicuro che il pannello non sia bloccato, altrimenti l'utente non riesce ad inserire
    Categorie.Locked := False
  }
}

In questo esempio, l'evento di OnRenderToolbar viene utilizzato per visualizzare il pulsante di Insert anche quando il pannello è Locked. E' stato necessario implementare anche l'evento OnCommand per sbloccare il pannello in tal caso.

Ultima modifica: 31/10/2022 / Validità: da 7.1.3300

Vedi Anche

  • Panel Commands (lista valori)
  • Locked (proprietà)
  • On Command (evento)
  • Set Can Insert (procedura)
  • Set Command Enabled (procedura)
  • Scarica il progetto EsempiAM.zip

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum