Condizioni di notifica
Questo evento viene notificato dal pannello quando l'utente fa click su di esso, sia con il tasto destro che sinistro che di mezzo.
Utilizzo consigliato
L'evento di OnMouseClick può essere utilizzato per gestire differenti azioni a seconda del modo con cui l'utente interagisce con il pannello. Ad esempio se l'utente clicca con il tasto destro al di fuori dei campi è possibile aprire un menù contestuale.
Argomenti
Button | Indica il bottone del mouse che è stato premuto. Vedi anche la lista valori MouseButtons |
X | Posizione X in pixel rispetto al pannello alla quale è stato premuto il mouse |
Y | Posizione Y in pixel rispetto al pannello alla quale è stato premuto il mouse |
XB | Posizione X in pixel nel browser alla quale è stato premuto il mouse |
YB | Posizione Y in pixel nel browser alla quale è stato premuto il mouse |
Column | Indice del campo che è stato cliccato (-1 se il click è avvenuto al di fuori dei campi) |
Row | Riga cliccata, da 0 a VisibleRows-1. Vale -1 se il click è avvenuto al di fuori dei campi o sul titolo della colonna o del campo |
Cancel | Può essere impostato a True per non eseguire l'azione di default collegata al click, ad esempio l'esecuzione dell'oggetto di attivazione del campo |
Esempio di codice
NOTA: l'esempio riportato è quello relativo al book in quanto l'uso dell'evento è analogo.
// ***************************************************************************
// Evento notificato dal book quando l'utente esegue un click singolo nel book
// ***************************************************************************
event Desktop.LibroDesktop.OnMouseClick(
int Button //
int X //
int Y //
int XB //
int YB //
int BoxID //
inout boolean Cancel //
)
{
// Se era aperto il cambio impiegato lo chiuso subito...
CambioImpiegato.Close(??)
//
if Button = Right
{
// Se sono sullo sfondo o sul cestino, mostro sono i comandi comuni
if BoxID = LibroDesktop.SfondoDesktop.Me() OR LibroDesktop.DocDNAIcona = CESTINO
...
else // Metto i nomi degli altri impiegati
...
MenuPopup.OpenPopupXY(XB, YB)
this.LastXB := XB
this.LastYB := YB
}
}
// ***************************************************************************
// Evento notificato dal book quando l'utente esegue un click singolo nel book
// ***************************************************************************
event Desktop.LibroDesktop.OnMouseClick(
int Button //
int X //
int Y //
int XB //
int YB //
int BoxID //
inout boolean Cancel //
)
{
// Se era aperto il cambio impiegato lo chiuso subito...
CambioImpiegato.Close(??)
//
if Button = Right
{
// Se sono sullo sfondo o sul cestino, mostro sono i comandi comuni
if BoxID = LibroDesktop.SfondoDesktop.Me() OR LibroDesktop.DocDNAIcona = CESTINO
...
else // Metto i nomi degli altri impiegati
...
MenuPopup.OpenPopupXY(XB, YB)
this.LastXB := XB
this.LastYB := YB
}
}
- L'evento di OnMouseClick viene notificato anche quando l'utente esegue un doppio click, in tale caso però viene notificato anche l'evento OnMouseDoubleClick.
- I parametri XB e YB possono essere utili per aprire un menù contestuale proprio alle coordinate del mouse, tramite la procedura OpenPopupXY.
- Nella procedura di gestione di questo evento è già possibile leggere i valori della riga cliccata del pannello riferendo i campi della tabella IMDB sottesa ad esso.
Ultima modifica: 23/03/2021 / Validità: da 8.5.3800