Newsgroup: it.comp.appl.access
Titolo: modifica del colore dei pulsanti al passaggio del mouse

Scusate il doppio post ma il precedente non viene visualizzato. Ho
quasi terminato un db di archiviazione dati di un magazzino usando al
posto dei pulsanti delle etichette usando la proprietà "SpecialEffect"
per simulare l'effetto pulsante e contestualmente cambiano colore al
passaggio del mouse. Per far sì che il colore cambi al "passaggio del
mouse" ho messo su questo evento del codice in ogni singolo pulsante,
domanda: c'è la possibilita di usare una unica routine a livello di
maschera  affinchè al passaggio del mouse il colore dei pulsanti
cambi? Grazie in anticipo

 ha scritto nel messaggio 
news:e3462d49-2798-4682...@m73g2000hsh.googlegroups.com...

[risposta]
Crea un modulo e una sub/funzione dove gli passi l'oggetto (o i nomi di)
form e control...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Grazie Sergio per la risposta, qualche dettaglio in piu'?  ......sono
poco piu' di un dillettante

 poco piu' di un dillettante
Ah! E come hai fatto a modificare il colore al passaggio del mouse?
Invia il codice che hai utilizzato...
Ciao.
-- 
Sergio MAZZA 

 form e control...
è questa tua frase che non capisco. devo creare una routine in un
modulo standard  tipo MioControllo.ForeColor = ecc. ecc. ? ( e quindi
dovrei specificare tutti i nomi dei pulsanti/etichette? ), non credo
intendessi questo.
Potresti con un esempio pratico farmi capire come devo fare? I
pulsanti hanno tutti nomi diversi ed è questo il mio problema. Ciao e
grazie per la pazienza

 ha scritto nel messaggio 
news:8070ef6e-7c56-4c5c...@d45g2000hsc.googlegroups.com...
Al passaggio del mouse ho usato la proprietà ForeColor = ecc. ecc.
è questa tua frase che non capisco. devo creare una routine in un
modulo standard  tipo MioControllo.ForeColor = ecc. ecc. ? ( e quindi
dovrei specificare tutti i nomi dei pulsanti/etichette? ), non credo
intendessi questo.
Potresti con un esempio pratico farmi capire come devo fare? I
pulsanti hanno tutti nomi diversi ed è questo il mio problema. Ciao e
grazie per la pazienza
[risposta]
Allora vado un poco alla cieca.
Diciamo che nell'evento "Al passaggio del mouse" avrai il codice VBA:
...
Dim ctlCurrentControl As Control
Set ctlCurrentControl = Screen.ActiveControl
CambiaColoreAlControllo Me.name, ctlCurrentControl.Name
Set ctlCurrentControl = nothing
...
Nel modulo avrai la sub:
...
Sub CambiaColoreAlControllo(NomeForm As String, NomeControllo As String)
    on error resume next
    Forms(NomeForm).Controls(NomeControllo).ForeColor = ecc. ecc
End Sub
...
Ciao.
-- 
Sergio MAZZA 

Allora vado un poco alla cieca.
Diciamo che nell'evento "Al passaggio del mouse" avrai il codice VBA:
...
Dim ctlCurrentControl As Control
Set ctlCurrentControl = Screen.ActiveControl
CambiaColoreAlControllo Me.name, ctlCurrentControl.Name
Set ctlCurrentControl = nothing
...
Nel modulo avrai la sub:
...
Sub CambiaColoreAlControllo(NomeForm As String, NomeControllo As
String)
    on error resume next
    Forms(NomeForm).Controls(NomeControllo).ForeColor = ecc. ecc
End Sub
...
[risposta*
Scusa il ritardo della risposta ma sono tornata dal lavoro da non
molto.
Ho provato la tua soluzione ma non funziona, ti scrivo il codice con
cui cambio colore ai pulsanti:
su spostamento mouse sull'etichetta/pulsante "informazioni
Private Sub informazioni_MouseMove(Button As Integer, Shift As
Integer, X As Single, Y As Single)
informazioni.BorderColor = 240636
informazioni.ForeColor = 240636
End Sub
su spostamento muose sul corpo della maschera
Private Sub Corpo_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If telistituti.BorderColor = 240636 _
Or insRitiri.BorderColor = 240636 _
Or istanze.BorderColor = 240636 _
Or informazioni.BorderColor = 240636 _
Or altricolloqui.BorderColor = 240636 _
Or chiudi.BorderColor = 255 Then
telistituti.BorderColor = 16763904
insRitiri.BorderColor = 16763904
istanze.BorderColor = 16763904
informazioni.BorderColor = 16763904
altricolloqui.BorderColor = 16763904
chiudi.BorderColor = 16763904
telistituti.ForeColor = 16763904
insRitiri.ForeColor = 16763904
istanze.ForeColor = 16763904
informazioni.ForeColor = 16763904
altricolloqui.ForeColor = 16763904
chiudi.ForeColor = 16763904
End If
End Sub
funziona tutto ma a me sembra troppo "arrangiato" e mi costringe a
tenere i pulsanti distanti uno dall'altro per poter intercettare lo
spostamento del mouse sulla maschera, senza considerare che ad ogni
maschera dovrei inserire lo stesso codice modificando i nomi dei
pulsanti.
Vorrei qualcosa di piu' semplice e piu' funzionale, la soluzione che
mi hai dato sembra non funzionare anche se noto uno sfarfallio ogni
volta che sono sul pulsante, cosa sbaglio? Ciao

 volta che sono sul pulsante, cosa sbaglio? Ciao
scusami sergio ma il tuo codice funziona, anche se non mi ripristina
il colore originale quando esco con il mouse dal pulsante, soluzioni?
Non mi mandare a quel paese pero', ciao

 ha scritto nel messaggio 
news:591309c6-0db4-4c6e...@z72g2000hsb.googlegroups.com...

Perchè quando lasci il focus devi scrivere un ugual codice per ripristinare 
il colore.
Ciao
-- 
Roberto da Parma 

 Roberto da Parma
[risposta]
grazie della pazienza e con il tuo aiuto ho risolto. ciao e grazie