English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Oggetti UI
  • Libreria Command Set

On Command

evento copia link

Condizioni di notifica

Questo evento viene notificato dal CommandSet ogni volta che l'utente attiva un comando in esso contenuto. Questo avviene quando:

  • L'utente attiva un comando contenuto in un CommandSet visualizzato nella toolbar, mostrato come menu popup o visualizzato nella menu bar. In tutti questi casi l'evento sarà notificato al CommandSet che contiene il comando attivato.

Utilizzo consigliato

L'evento di OnCommand può essere utilizzato per eseguire particolari procedure a seconda del comando selezionato dall'utente, senza che il codice da eseguire sia direttamente legato al comando scelto.

Uno dei possibili utilizzi è quello consentire la gestione dei comandi di un menu popup precedentemente caricati in modo dinamico tramite l'evento di OnOpenPopup.

Argomenti

Command Number E' un numero intero che identifica il comando utilizzato. Può essere confrontato con la funzione Me dell'oggetto Command per identificare il comando selezionato dall'utente.
Index E' un numero intero che rappresenta la posizione del Command all'interno del Command Set (partendo da 0 fino a GetCommandsCount - 1). Può essere utilizzato per modificare le proprietà degli oggetti Command attraverso le funzioni della libreria Command Set.
Cancel Se valorizzato a True ferma l'esecuzione della procedura legata al comando selezionato.

Esempio di codice

// ****************************************************************************
// Utilizzo l'evento di On Command del Command Set per impostare il valore
// IDCategoria del prodotto corrente come il Code del Command eseguito.
// Nell'evento di On Open Popup i comandi sono stati modificati per contenere
// nella caption il nome di una categoria e nel code il relativo ID.
// ****************************************************************************

event Prodotti.Impostacategoria.OnCommand(
  int CommandNumber    // 
  int Index            // 
  inout boolean Cancel // 
)
{
  // Se il comando è abilitato e visibile
  if Impostacategoria.GetCommandEnabled(Index) AND Impostacategoria.
    GetCommandVisible(Index)
  {
    // Metto nel campo idcategoria il code del comando
    // cliccato dall'utente, identificato tramite l'argomento Index

    Prodotti.IdCategoria := ToInteger(Impostacategoria.GetCommandCode(
      Index))
  }
  // 
  // Scrivo nel Debug il percorso del file icona rappresentante il comando

  EsempiGL.DTTLogMessage(FormatMessage(Icona del comando: |1,
    Impostacategoria.GetCommandIcon(Index), ??, ??, ??, ??), ??, ??)
  // 
  // Mostro il messaggio dell'operazione eseguita

  EsempiGL.MessageBox(FormatMessage(Impostata categoria |1, Impostacateg-
    oria.GetCommandCaption(Index), ??, ??, ??, ??))
}
  • Per impostare le funzionalità di un menu in maniera totalmente dinamica è possibile collegare ai Command contenuti nel CommandSet una procedura vuota, e poi gestire nell'evento di OnCommand la gestione delle selezioni dell'utente in base a come è stato dinamicamente popolato il CommandSet.

Ultima modifica: 13/02/2020 / Validità: da 6.5.2680

Vedi Anche

  • Libreria Command
  • On Open Popup (evento)
  • Me (funzione)
  • Get Commands Count (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum