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
}
}
// 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