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

On Activate Field

evento copia link

Condizioni di notifica

Questo evento viene notificato dal pannello quando un campo che poteva essere attivato viene attivato. Questo può avvenire quando:

  • L'utente clicca su un campo che ha un visual style con hyperlink attivo.
  • L'utente fa doppio click sul campo e al campo era stata asssociata una procedura
  • L'utente preme il bottone di attivazione del campo.
  • L'utente preme il bottone F2 e al campo era stata asssociata una procedura.

Utilizzo consigliato

Normalmente non è necessario utilizzare questo evento perchè è più pratico associare al click sul campo un oggetto di attivazione (procedura, form o command set) a design time. Tuttavia può essere utile quando molti campi del pannello devono essere gestiti in modo uniforme (vedi esempio seguente).

Nota bene: la sola implementazione di questo evento non rende attivabili i campi di pannello. Perchè un campo di pannello sia attivabile è possibile associare ad esso una procedura, oppure uno stile visuale con flag Hyperlink attivo.

Argomenti

Field Index E' un numero intero che rappresenta il campo del pannello che è stato attivato. Deve essere confrontato con la proprietà Me del campo di pannello.
Cancel Può essere impostato a True per annullare l'attivazione dell'oggetto di attivazione eventualmente legato al campo di pannello.

Esempio di codice

// *******************************
// Fired when a field is activated
// *******************************

event Orologio.Ora.OnActivateField(
  int FieldIndex           // 
  inout boolean Cancel // 
)
{
  int ora = 0 // L'ora premuta da 0 a 12
  // 
  // Calcolo l'ora premuta dall'utente. Per farlo considero
  // che tutti i campi hanno un identificativo crescente...

  ora := Column - Ora.Label1.Me() + ONE
  // 
  // Produco il risultato per l'utente

  if ora = Ora.Ora
  {
    Ora.Ora := ToInteger(Random(??) * C12) + ONE
    EsempiAM.MessageBox(MSG Bravo Prova Questa)
  }
  else
  {
    EsempiAM.MessageBox(MSG Cliccato +c ToString(ora) +c C, riprova.)
  }
}
  • Da utilizzare solo per gestire i casi speciali come da esempio.
  • Se il campo attivato possiede uno stile visuale di tipo hyperlink ma nessuno oggetto di attivazione il sistema utilizza il testo contenuto nel campo come link a cui ridirigere il browser. Se, però, il parametro Cancel dell'evento OnActivateField viene impostato a True, tale gestione viene interrotta.

Ultima modifica: 06/10/2021 / Validità: da 6.5.2680

Vedi Anche

  • Me (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum