Condizioni di notifica
Questo evento viene notificato dall'albero 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 l'albero. Ad esempio se l'utente clicca con il tasto destro è possibile aprire un menù contestuale relativo ad un nodo.
Argomenti
Button | Indica il bottone del mouse che è stato premuto. Vedi anche la lista valori MouseButtons |
X | Posizione X in pixel rispetto all'albero alla quale è stato premuto il mouse |
Y | Posizione Y in pixel rispetto all'albero 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 |
Node Hash | Chiave HASH del nodo cliccato (stringa vuota se il click è avvenuto all'esterno di ogni nodo) |
Document | Documento sotteso al nodo cliccato (null se non esiste) |
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 nodo |
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 NON è possibile leggere i valori relativi al nodo cliccato riferendo i campi della tabella IMDB sottesa all'albero. E' necessario utilizzare i parametri Node Hash o, ancor meglio, Document per conoscere i dettagli del nodo.
Ultima modifica: 25/10/2016 / Validità: da 8.5.3800