Scopo
Mostra il CommandSet come un menu popup.
E' possibile indicare dove deve essere visualizzato il popup specificando il pannello, la riga e il campo affianco a cui visualizzare il menu.
Il metodo più semplice per aprire un menu popup in un albero, un campo di pannello o un bottone di una toolbar è quello di collegare il CommandSet che rappresenta il menu popup all'oggetto che lo deve aprire dall'interno di Instant Developer. Se però il menù popup deve essere aperto quando si verificano certe condizioni in una procedura è possibile usare la OpenPopup per comandare l'apertura del menu popup senza che l'utente debba cliccare su un oggetto della videata.
Sintassi
CommandSet.OpenPopup(direction, panel index, panel field index, row number)
Argomenti
| Direction | E' un numero intero che indica la posizione del menu rispetto all'oggetto di attivazione (cioé il campo di fianco al quale il menu sarà mostrato). I possibili valori sono rappresentati dalle costanti LEFT, RIGHT, TOP e BOTTOM. Vedere PopupDirections per maggiori informazioni. |
| Panel Index | E' un numero intero che identifica il pannello nel quale si vuole mostrare il menu. Utilizzare la funzione Me del pannello per ottenere il valore. |
| Panel Field Index | E' un numero intero che identifica il campo di pannello di fianco al quale si vuole mostrare il menu. Utilizzare la funzione Me dell'oggetto Panel Field per ottenere il valore. |
| Row Number | E' un numero intero che rappresenta il numero della riga che contiene il campo affianco al quale si vuole mostrare il menu. Può variare da zero (prima riga) a VisibleRows - 1. Se il pannello è in form deve valere zero. |
Esempio di codice
// ********************************************************
// Apro il CommandSet ImpostaCategoria come un popup vicino
// al campo IDCategoria.
// ********************************************************
public void Prodotti.OpenPopup()
{
int direction = 0 // Direzione di apertura del menu popup
int PanelIdx = 0 // Identificatore del pannello in cui aprire il menu
int PFieldIdx = 0 // Indice del campo di fianco a cui aprire il menu
int RowNum = 0 // Numero della riga da cui prendere il panel field
//
direction := Bottom
PanelIdx := Prodotti.Me()
PFieldIdx := Prodotti.Idcategoria.Me()
RowNum := Prodotti.ActiveRow
//
Impostacategoria.OpenPopup(direction, PanelIdx, PFieldIdx, RowNum)
}
// Apro il CommandSet ImpostaCategoria come un popup vicino
// al campo IDCategoria.
// ********************************************************
public void Prodotti.OpenPopup()
{
int direction = 0 // Direzione di apertura del menu popup
int PanelIdx = 0 // Identificatore del pannello in cui aprire il menu
int PFieldIdx = 0 // Indice del campo di fianco a cui aprire il menu
int RowNum = 0 // Numero della riga da cui prendere il panel field
//
direction := Bottom
PanelIdx := Prodotti.Me()
PFieldIdx := Prodotti.Idcategoria.Me()
RowNum := Prodotti.ActiveRow
//
Impostacategoria.OpenPopup(direction, PanelIdx, PFieldIdx, RowNum)
}
-
La procedura può essere chiamata anche senza esplicitare i parametri, nel qual caso aprirà il popup sul primo campo della riga attiva.
Questo però è possibile solo in un evento di pannello, se chiamata senza parametri da un punto diverso verrà data eccezione.
Ultima modifica: 10/12/2025 / Validità: da 6.5.2680
procedura