Scopo
Permette di modificare l'icona di un determinato comando all'interno del CommandSet. Può essere utilizzata per personalizzare i comandi disponibili all'utente a seconda dello stato dell'applicazione.
Sintassi
CommandSet.SetCommandIcon(index, icon)
Argomenti
Index | E' un numero intero rappresentante l'indice del Command all'interno del CommandSet. |
Icon | E' una stringa contenente il nome del file immagine da utilizzare come icona del comando (ad es. "notes.gif"). Il file deve essere memorizzato nella sottodirectory images dell'applicazione web. |
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
}
}
// 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
}
}
- Se come nome di file si specifica una stringa vuota il comando verrà mostrato senza icona.
- 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.
- Come nome di file è possibile anche utilizzare la funzione ToImage (costante) che assegna al comando l'icona legata alla costante all'interno di Instant Developer. In questo modo non è necessario legarsi ad un particolare nome di file e ricordarsi di memorizzarlo al punto giusto perchè questa operazione viene eseguita da Instant Developer durante la compilazione dell'applicazione.
Ultima modifica: 13/02/2020 / Validità: da 6.5.2680