Alle 17:52, martedì 13 giugno 2006, Michele Zarri ha scritto:
> Ciao,
>
> Ho un piccolo problemino che vi vorrei sottoporre: ho creato una finestra
> di dialogo con un paio di controlli piu' un pulsante "OK" e uno "Cancel".
>
> Prima che la finestra si chiuda devo compiere qualche operazione percio' ho
> creato una subroutine che ho associato all'evento "mouse release" sul tasto
> OK e tutto funziona.
Una piccola considerazione:
L'evento mouse release va bene ma l'evento "on action" è meglio
Da quanto mi risulta infatti, quest'ultimo è stato concepito proprio come
astrazione dell'evento predefinito di un pulsante.
In effetti per gestire al meglio l'evento mouse button release dovresti
controllare pure il pulsante premuto, e il numero di clicks
Cosa che non è necessaria con l'evento "on action"
>
> Purtroppo pero' la finestra di dialogo si chiude anche se l'utente preme il
> tasto invio (il pulsante OK e' quello di default), solo che in questo caso
> il mio codice non viene eseguito.
Ed è cosa buona e giusta infatti :-)
>
> Esiste un metodo veloce per catturare l'evento chiusura della finestra di
> dialogo cosi' che possa eseguire il codice che voglio? Mi piacerebbe
> evitare di mettere un key listener anche perche' non saprei a quale
> controllo associarlo.
Niente di tutto ciò.
Per gestire i dialoghi di openoffice si opera come con i dialoghi di tipo
msgbox:
In pratica:
--------------------------------
iDlgResult = oDlg.Execute 'il dialogo viene mostrato:
'il flusso di esecuzione rimane bloccato fino
'a che il dialogo non viene chiuso dall'utente
If iDlgResult = 1 Then 'l'utente ha premuto OK (o invio)
'fai qualcosa di utile qui
Else
'l'utente ha premuto annulla (o ESC)
'chiudi la faccenda senza fare nulla
End If
----------------------------
ciao
Paolo M
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]