E' un pņ complesso, non sono sicuro
si riesca ad intercettare il SENSO di ROTAZIONE, e non sņ se conviene.
Devi SubClassare la Form aperta e rilevare il movimento
MouseWhell, quindi dirottare la Procedura sulla Routine
personalizzata che va creata per realizzare il MoveLast...!
Da casa questa sera ti allego un Link dove trovi un esempio
di come disabilitare la rotella del Mouse, a quella Routine
basta inserire la tua per il MoveLast...!
Se poi hai dubbi proviamo ad entrare nel dettaglio....!
Ciao.
@Alex.
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Io ho utilizzato questa procedura per disabilitare l'effetto della
rotellina e mi funziona perfettamente:
http://support.microsoft.com/default.aspx?scid=kb;en-us;308636&Product=acc
E' necessario, comunque il VB6.
Che ne pensi?
--
rgrds
SC
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
[CUT]
>
> Io ho utilizzato questa procedura per disabilitare l'effetto della
> rotellina e mi funziona perfettamente:
>
> http://support.microsoft.com/default.aspx?scid=kb;en-us;308636&Product=acc
>
> E' necessario, comunque il VB6.
>
> Che ne pensi?
>
> --
> rgrds
> SC
Sostanzialmente non serve crearsi una Dll, poichè
come hai detto ti sei legato a VB6 e al suo RUNTIME, cosa
non bella secondo me, oltretutto inutile......!
Prova ad inserire i moduli in relativi Moduli di Access
uno è una Classe, quella per richiamare il SubClassing, e non
inserrie i Riferimenti alla Dll, vedrai che funziona tutto..!
In ogni caso a questa va applicato il dirottamento alla procedura
autogestita per il MoveLast....!
L'unico dubbio che ho è rilevare la direzione del Mouse...!
Sì effettivamente ho VB6 e l'ho utilizzato.
Seguo il tuo consiglio e appena possibile provo.
Ti informerò.
Non č tanto il fatto di avere VB6 Licenziato o meno, ma č
che devi installare tutte le Dll, e sai meglio di me che meno
roba installi, meno controlli sulla versione devi fare, e meno
problemi ti trovi....!
Se hai problemi ne riparliamo....!
@Alex.
Ho notato che usando ACC 2002 la rotellina del mouse va su e giù nella pagina
senza mai spostarsi ad un altro record.
Con la versione runtime del 2002 invece, si sposta su altri record.
al chè ho notato che c'è l'evento mousewheel molto simpatico ed utile, che nella
versione completa del pgr non rileva mai la rotazione della rotellina (ma non
m'importa molto), mentre nella versione runtime, l'evento viene correttamente
rilevato.
ora, ho letto che è sufficiente una volta intercettata la rotazione, mandare il
tutto sul "nulla".
bene...... come si manda sul "nulla"?
non è, mi sa, così semplice come suggerirebbe la parola "nulla".
in realtà ho già scaricato e provato il db mousewhell00.zip
solo che applicato al mio db, mi blocca il pgr. anzi per la precisione lo
chiude.
era cmq quella la soluzione al mio problema (di tutti)? la soluzione + semplice?
>Devi SubClassare la Form aperta e rilevare il movimento
>MouseWhell,
uh? come?
Ciao
Silvia.
--
www.silvietta.it
...everyone's invited!
Non Esiste Una Razza Bianca, Benche' Se Ne Parli Tanto: Ogni Uomo Bianco E' Solamente Un Uomo Scolorito
Beata te, a me si sposta...!
> Con la versione runtime del 2002 invece, si sposta su altri record.
Corretto.
> al chè ho notato che c'è l'evento mousewheel molto simpatico ed utile, che
nella
> versione completa del pgr non rileva mai la rotazione della rotellina (ma
non
> m'importa molto), mentre nella versione runtime, l'evento viene
correttamente
> rilevato.
> ora, ho letto che è sufficiente una volta intercettata la rotazione,
mandare il
> tutto sul "nulla".
>
> bene...... come si manda sul "nulla"?
> non è, mi sa, così semplice come suggerirebbe la parola "nulla".
>
> in realtà ho già scaricato e provato il db mousewhell00.zip
> solo che applicato al mio db, mi blocca il pgr. anzi per la precisione lo
> chiude.
> era cmq quella la soluzione al mio problema (di tutti)? la soluzione +
semplice?
>
>
> >Devi SubClassare la Form aperta e rilevare il movimento
> >MouseWhell,
>
> uh? come?
>
> Ciao
>
> Silvia.
Silvia, l'evento MouseWhell applicato alla Form in realtà non consente
di annullare che avvenga, ma non credo si possa usare per evitare
lo scroll.
La tecnica per eliminare lo Scroll è dirottare la Routine di esecuzione
eventi subclassando la Form in questione, li puoi evitare che venga
eseguita la Routine di Default del MouseWhell bypassandola.
L'esempio che ha trovato, spero sia per Access2002, e deve funzionare.
scarica da quì la versione di A2002 e vai al sito della Microsoft Linkato
che ne spiega decisamente bene la tecnica:
http://web.tiscali.it/giorgiorancati/msaccess.htm
Ciao.
@Alex.
>L'esempio che ha trovato, spero sia per Access2002, e deve funzionare.
>scarica da quì la versione di A2002 e vai al sito della Microsoft Linkato
>che ne spiega decisamente bene la tecnica:
>
>http://web.tiscali.it/giorgiorancati/msaccess.htm
no l'esempio è per ACC2000.
Ad ogni modo leggevo questo:
If possible, you should use the method listed in the "Creating the MouseWheel
Event by Using a **Visual Basic ActiveX DLL**" section earlier in this article.
You can use the method discussed in this section (Creating the MouseWheel Event
Completely Within Microsoft Access) only in a situation where the users of your
application will not be loading the Visual Basic Editor within Microsoft Access,
such as in a Microsoft Access run-time application. If you implement this
solution and your users open the Visual Basic Editor, the code in this section
will cause Microsoft Access to stop responding.
Quindi in pratica si verifica quel problema che ho avuto io (blocco del pgr).
E inoltre non è detto che un utente non abbia installato Access sul proprio pc,
con la conseguenza che all'apertura del pgr faccia il loading anche VB (ho detto
una cavolata?)
Dal momento che per lavorarci io apro anche l'editor VB.. io sono destinata al
crash.
Se l'utente ha installata la giusta versione di Access va in crash...
quindi la seconda opzione (implementarlo direttamente in access) va bene solo
per uso interno del pgr! giusto?
e allora mi sembra obbligatoria la soluzione dell'ActiveX DLL in VB, al
contrario di quello che dicevi, o.........?
Ciao
Silvia.
ma poi mi chiedo:
ma perchè se la microsoft da le soluzioni per ogni versione di access, non
implementa un comando interno ad access che faccia il tutto da solo, senza dover
fare copia e incolla non immuni da errori?
Silvia A2000 e A2002 in questo non hanno variazioini, la differenza c'è solo
verso A97 in quanto non dispone in modo nativo della Funzione AddresOf
che viene Emulata da una Routine che trovi su Mvps....!
Access così come VB per gestire il SubClassing necessita di tutto quel
codice
poichè il SubClassing stesso richiede ORDINE e RIGORE nell'utilizzo causa
Crash.
Ricorrere alla Dll di VB se hai Access non serve a nulla e in più ti
costringe a dover
distribuire il RUNTIME di VB che non è detto uno sviluppatore di Access
abbia....!
Se uno non ha installato Access sul suo PC non và nemmeno il file che gli
passi
e se gli distribuisci il Runtime di Access tramite DEVELOPER allora funziona
anche
il SubClassing.
La dll di VB serve solo per comodità a quelli non estremamente pratici
con VB e VBA a questi livelli.
Ciao.
@Alex.
>L'esempio che ha trovato, spero sia per Access2002, e deve funzionare.
>scarica da quì la versione di A2002 e vai al sito della Microsoft Linkato
>che ne spiega decisamente bene la tecnica:
>
>http://web.tiscali.it/giorgiorancati/msaccess.htm
infatti spiega benissimo.
io l'ho applicata alla lettera, ed è tutto perfetto....
ma........
gli utenti no, ma io con il db ci devo lavorare aprendo quindi l'editor di VB
(il che manderebbe in crash il pgr)
non ricordo se eri tu.....
che dicevi che la soluzione VB era decisamente sconsigliata e che conveniva
farlo direttamente In VB....
tu quale hai usato?
Ciao
Silvia.
Io uso la soluzione Access, ma il tuo problema è al di là della metodologia.
Quando Usi l'EDITOR non può essere in esecuzione il SubClassing
di conseguenza all'apertura del tuo progetto in modalità Struttura/Modifica
non avrai avviato il SubClassing, che tra le altre cose deve essere eseguito
in ogni Form e così come hai trovato sul sito di Gorgio non più di UNA
sessione per volta, causa il CRASH.
Se devi Subclassare + Form in contemporanea la cosa deve essere adeguata
con un'altro sistema associato all'esempio, cioè l'utilizzo di una
Collection
nella quale memorizzare l'EntryPoint relativo alla Form Subclassata....!
Di conseguenza non riesco a capire dove trovi difficoltà....!!!!!
@Alex.