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

Set Command Visible

procedura copia link

Scopo

Mostra o nasconde un determinato comando contenuto nel CommandSet. Può essere utile per personalizzare l'interfaccia utente a seconda dello stato dell'applicazione, mostrando i comandi permessi all'utente in quel momento e nascondendo gli altri.

Sintassi

CommandSet.SetCommandVisible(index, visible)

Argomenti

Index E' un numero intero che rappresenta l'indice del comando all'interno del CommandSet.
Visible True se il comando deve essere reso visibile, False altrimenti.

Esempio di codice

// *****************************************************************
// Nell'evento di OnOpenPopup 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 comandi contenuti all'interno di CommandSet visualizzati nella toolbar, è sufficiente che il campo sia disabilitato perché venga nascosto. In questo caso utilizzare la procedura SetCommandVisible non è sufficiente per mostrare all'utente l'oggetto Command, ma occorre ricorrere anche alla procedura SetCommandEnabled. Per nascondere un comando contenuto nella toolbar è quindi sufficiente disabilitarlo.

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

Vedi Anche

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

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum