Newsgroup: it.comp.appl.access
Titolo: Impedire alla "freccia" del mouse di uscire dalla finestra

Ho la necessità che l' utente, una volta avviata una certa
operazione cliccando su un tasto T della maschera M,
non possa spostare la freccia del mouse all' esterno
della M. Al termine dell' operazione poi debbo rilasciare
il mouse.
So che si puo' fare con la chiamata di talune API.
Sareste cosi' gentili da spiegarmi come si fa ?
Grazie.


Scusa si puo' sapere per quale motivo hai questa necessita'
Dino

 Scusa si puo' sapere per quale motivo hai questa necessita'
A disposizione, capo.  :-)
Quando l' utente avvia quella procedura, essendo essa
critica, non deve poter far null' altro (aprire altre
maschere ad esempio, accedendo alla barra dei menu',
oppure, peggio, avviare altre procedure magari a loro
volta CRITICHE premendo i tasti idonei su maschere
gia' aperte ecc ecc).
Per far questo lo devo costringere a stare nella
maschera dove e' in corso l' attivita' fintanto che
non sia conclusa. D' altra parte, e' parte di questa
attivita' stessa che lui possa fare una serie di operazioni
su *quella* maschera dove l' attivita' e' stata avviata.
Quindi non posso semplicemente chiudergli tutto in faccia.
Non so se sono riuscito a spiegarmi.
Ciao.


Allora io l'ho risolto in questo modo.Vai nelle prorpieta' del Form e
nella scheda "altro" vai ad inserire "POPUP Sì" e "Scelta obbligatoria
Sì".
Facendo così l'utente puo' solo inserire i dati nel form aperto.
Poi per evitare che l'utente "toccacci" qualche pulsante di comando
puoi decidere al'apertura del form di disabilitarli.Es:
pulsante "Aprimaschera"  lo vuoi disabilitare basta mettere
all'interno dell'evento Click del pulsante che apre la form
me.Aprimaschera.Enabled = False.
Facendo così il pulsante non e' utilizzabile.Ovviamente quando chiudi
il form devi riabiolitarlo
Dino

 
Lascio a Dino la responsabilita' della risposta. Spesso le API sono 
interessate a fare miele, cosa abbastanza complessa e questa potrebbe 
essere piuttosto semplice come l'attivazione di un interruttore.


wrote:

Perche' non ti convince la mia soluzione????
Dino

del Form e nella scheda "altro" vai ad inserire "POPUP Sì" >e "Scelta obbligatoria Sì".
Ti ringrazio e faro' volentieri cosi, anche tenendo conto
di quanto scrive Alessandro.
Solo, cortesemente, mi dovresti indicare come fare per
mettere, col vba e non a mano, le opzioni popup = si e
scelta obbligatoria = si.
E' infatti necessario farlo col VBA, perche'
l' utente deve poter aprire la maschera "normalmente"
e vagare come vuole per l' applicazione, e questo
particolare stato gli deve essere dato solo se esegue
quella attivita', non so se mi spiego.


Secondo me invece te la sta appoggiando !
Ma ti prego, rispondi alla mia ultima domanda.


Scusa ma che senso puo' avere se apre un form per vagare qua e la'
allora lo puo' chiudere e andare dove vuole.Altrimente inserisce i
suoi dati e poi chiude il form.
Ad ogni modo secondo me due possibilita':
1) Prova sempre nelle prop. del form nella scheda altro ad abilitare
solo Popup e non scelta obbligatoria o viceversa.
2) Se cerchi nel forum qualcosa dovresti trovare da VBA
Dino
NB:Io pero' valuterei meglio il concetto "puo' andare in lungo e in
largo".L'utente deve fare quello che le si permette di fare e
null'altro.

 Ma ti prego, rispondi alla mia ultima domanda.
Ci sono arrivat da solo.
La popup deve essere messa a mano, ma va bene.
L' altra e' :
Me.modal = true
Grazie ancora, caro Dino.
La tua e' una soluzione semplice ed efficace.

 Me.modal = true
C'e' anche il parametro direttamente sulla openform

 suoi dati e poi chiude il form.
Si ... Capisco. Cerco di spiegarmi.
Il concetto sarebbe questo :
l' utente apre la maschera o piu' maschere per fare
quello che vuole (nei limiti di quanto gli permette
il programma, s' intende). L' applicazione, modestia
a parte, e' molto robusta e ben fatta e da la poss.
all' utente di sbizzarirsi come vuole senza alcun
effetto negativo.
Se pero', aperta la maschera, decide di avviare una
*certa* operazione *critica* premendo il tasto apposito,
e' necessario bloccarlo su quella meschera fintanto
che l' operazione avviata non sia completata.
(Tu mi insegni quanto gli utenti possano essere
pericolosi). :-)
Ora :
parte della procedura critica gli deve pero' consentire
di modificare i campi testo, i combo e i flag, (ma solo
di *quella* maschera) e null' altro. Per cui ho fatto
un ciclo che mette a enabled = false tutti i controlli
che l' utente, durante la criticita', non deve nemmeno
"pensare" di toccare.
Se poi l' "utentaccio" chiude la maschera, lo intendo
come una richiesta di annullamento dell' operazione
critica suddetta, per cui nell' evento close rimetto
tutto a posto e via : sara' per un' altra volta.
La tua soluzione e' quindi (secondo me)
*P.E.R.F.E.T.T.A* e semplice.
Complimenti sinceri.
D' altra parte, se lo dice pure il buon Alessandro,
programmatore "vecchio stampo" (l' ho capito subito)
posso dormire tra due guanciali.
Grazie ancora di cuore.


OK.Alla prossima
Dino