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

Set Command Enabled

procedura copia link

Scopo

Abilita o disabilita un determinato comando del Command Set. Un possibile utilizzo è quello di personalizzare l'interfaccia utente a seconda dello stato dell'applicazione, abilitando soltanto i comandi che l'utente può utilizzare in quel momento e disabilitando gli altri.

Sintassi

CommandSet.SetCommandEnabled(index, enabled)

Argomenti

Index Indice dell'oggetto Command all'interno del CommandSet.
Enabled True se l'oggetto Command deve essere abilitato, False altrimenti.

Esempio di codice

// *****************************************************************
// Nell'evento di On Open Popup mostro un comando per ogni categoria
// trovata sul database, nascondendo gli eventuali comandi rimanenti
// *****************************************************************

event Prodotti.Impostacategoria.OnOpenPopup(
  inout int Direction  // Indicates where to show the popup...
  inout boolean Cancel // When set to TRUE, the popup menu is not shown
)
{
  int Idx = 0 // Indice del comando correntemente in valutazione
  // 
  // Per ogni categoria presente nel sistema imposto un comando

  for each row
  {
    select
      IdcategoriaCategorie := Idcategoria
      NomeCategoriaCategorie := NomeCategoria
    from
      Categorie // Master Table
    // 
    record Categorie
      int Idcategoria      // 
      string NomeCategoria // 
    // 
    Impostacategoria.SetCommandVisible(Idx, True)
    Impostacategoria.SetCommandEnabled(Idx, True)
    // 
    Impostacategoria.SetCommandCode(Idx, ToString(Categorie.Idcategoria))
    Impostacategoria.SetCommandCaption(Idx, ToString(Categorie.NomeCategoria))
    Impostacategoria.SetCommandIcon(Idx, Convert(ToImage(Categoria)))
    // 
    Idx := Idx + ONE
    // 
    // Se il command set è già pieno mi fermo

    if Idx = Impostacategoria.GetCommandsCount()
    {
      break
    }
  }
  // 
  // Se non tutti i comandi sono stati impostati rendo invisibili i rimanenti

  while Idx < Impostacategoria.GetCommandsCount()
  {
    Impostacategoria.SetCommandVisible(Idx, False)
    Impostacategoria.SetCommandEnabled(Idx, False)
    // 
    Idx := Idx + ONE
  }
}
  • Gli indici di posizione dell'oggetto Command all'interno del CommandSet vanno da 0 a GetCommandsCount - 1. E' possibile ottenere l'indice di un comando mediante la funzione GetIndex dell'oggetto Command.
  • Nel caso di CommandSet visualizzato nella menubar o come menu popup, gli oggetti Command disabilitati vengono comunque mostrati a video ma non sono utilizzabili dall'utente. Vengono distinti da quelli abilitati per il diverso colore di visualizzazione.
  • Nel Caso di CommandSet visualizzati nella toolbar i comandi disabilitati non vengono mostrati a video se era stata loro associata un'immagine. I comandi senza immagine (tipo TESTO) rimangono visibili, l'utente non può utilizzarli e vengono visualizzati come disabilitati.

Ultima modifica: 23/03/2021 / Validità: da 6.5.2680

Vedi Anche

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

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum