| dalla versione 6.5.2680 - modificato il 14/09/2012 - link - english
|
Condizioni di notifica
Questo evento viene notificato dal CommandSet quando viene mostrato all'utente come un menu popup, condizione che si verifica nei seguenti casi:
- l'utente seleziona un comando della toolbar collegato ad un CommandSet che ha il flag "popup" abilitato.
- viene utilizzata la procedura OpenPopup per visualizzare un menu popup di fianco ad un determinato campo di pannello.
- l'utente fa click con il tasto destro su un albero che ha un CommandSet collegato.
- l'utente attiva un campo di pannello che ha come oggetto di attivazione un Command Set.
Utilizzo consigliato
L'evento di
OnOpenPopup può essere utilizzato per personalizzare il menu popup mostrato all'utente, modificando le proprietà degli oggetti Command in esso contenuti.
Uno degli utilizzi possibili è quello di abilitare/disabilitare i comandi del CommandSet a seconda dello stato dell'applicazione, un altro è quello di modificare i Command in modo tale da realizzare un menu totalmente dinamico, la cui struttura non è nota in fase di progettazione.
Argomenti
Direction
|
E' un parametro di output che può essere impostato ad uno dei valori della lista PopupDirections per scegliere la posizione del menu popup rispetto all'oggetto che lo ha attivato.
|
Cancel
|
Se impostato a True annulla la visualizzazione del popup.
|
Note
-
Se il menù popup è collegato ad un albero, per sapere da quale nodo è stato attivato il menù è possibile utilizzare la proprietà ActiveDocument in caso di albero DO oppure la funzione GetActiveNode in caso di albero DB.
-
Se il menù popup è collegato ad un campo di pannello, per sapere da quale campo è stato attivato il menù è possibile utilizzare la proprietà ActivatedField e ActivatedPanel dell'oggetto form.
event Prodotti.Impostacategoria.OnOpenPopup(
inout int Direction
inout boolean Cancel
)
{
int Idx = 0
for each row
{
select
IdcategoriaCategorie := Idcategoria
NomeCategoriaCategorie := NomeCategoria
from
Categorie
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
if Idx = Impostacategoria.GetCommandsCount()
{
break
}
}
while Idx < Impostacategoria.GetCommandsCount()
{
Impostacategoria.SetCommandVisible(Idx, False)
Impostacategoria.SetCommandEnabled(Idx, False)
Idx := Idx + ONE
}
}
Cosa ne pensi?
Ti sono rimaste delle domande su punti che questo articolo non ha trattato? Pensi che sia utile aggiungere una nota all'articolo? Aiutaci a migliorare la documentazione di Instant Developer scrivendo il tuo commento nei campi qui sotto.