Newsgroup: it.comp.appl.access
Titolo: Come colorare lo sfondo della textbox/combobox corrente ?

Sarebbe utile, al fine di evidenziare la textbox/combobox corrente, 
cambiarne lo sfondo dal bianco al giallo
Per evitare di piazzare giu' codice su ogni controllo, e perdere la 
giovinezza scrivendo sulla tastiera, come fare per inserire una routine 
generale all'inizio della form ed ottenere questo risultato?
Ciao e grazie
RobertoA

RobertoA ha scritto:

No c'� bisogno di alcun codice.
Metti sfondo trasparente e colore quello che vuoi tu.
--
sv
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:hbh223$jka$1...@news.newsland.it...

Io procedo in maniera diversa...
Salvi in un modulo questo codice...
Function FOCUS()
   On Error Resume Next
   Screen.ActiveControl.BACKCOLOR = 65535
End Function
Function RemoveFocus()
   On Error Resume Next
   Screen.PreviousControl.BACKCOLOR = 16777215
End Function
Nei controlli che vuoi poi su evento attivato, disattivato inserisci 
rispettivamente
=Focus()
=RemoveFocus()
Et voil�
Ciao
-- 
Roberto da Parma 

 =RemoveFocus()
Era proprio questo che volevo evitare, di 'ripassare' tutti i controlli
Fare questa operazione su delle procedure con un centinaio di form, con
10-20 controlli a form, sono 1000-2000 controlli da modificare
E' la via piu' semplice ma meno praticabbole
Ciao e grazie
RobertoA

 ha scritto nel messaggio 
news:4adc...@newsgate.x-privat.org...

Eh no....tutt'al pi� l'operazione la effettuerai per il numero di form...
Scusa ma selezioni ogni volta il singolo controllo???
Seleziona tutto e fai la modifica all'evento...visto e considerato che non 
devi andare in VBA.


 devi andare in VBA.
Eh si, non ci avevo pensato
La cosa cambia aspetto allora, inizia ad essere praticabbole
Ciao e grazie
RobertoA

 - Mostra testo citato -
Oltre a quanto ti ha già suggerito Roberto da Parma, potresti valutare
l'opzione di una Routinetta per far gestire l'Evento in automatico...!
Chiaramente ti basterebbe controllare, la collection CONTROLS nella
quale sono inseriti di certo anche le TextBox/ComboBox con
ControlSource valorizzato...
Dim ctl as Access.Control
For Each ctl in Me.Controls
   If ctl.ControlType=acTextBox or ctl.ControlType=acCOmboBox then
     If Len(ctl.ControlSource)>0 Then
        ctl.OnGotFocus="=Focus()"
        ctl.OnLostFocus="=RemoveFocus()"
     End If
    End If
Next
Ciao
@Alex

 E' la via piu' semplice ma meno praticabbole
Oltre a quanto ti ha gi� suggerito Roberto da Parma, potresti valutare
l'opzione di una Routinetta per far gestire l'Evento in automatico...!
Chiaramente ti basterebbe controllare, la collection CONTROLS nella
quale sono inseriti di certo anche le TextBox/ComboBox con
ControlSource valorizzato...
Dim ctl as Access.Control
For Each ctl in Me.Controls
   If ctl.ControlType=acTextBox or ctl.ControlType=acCOmboBox then
     If Len(ctl.ControlSource)>0 Then
        ctl.OnGotFocus="=Focus()"
        ctl.OnLostFocus="=RemoveFocus()"
     End If
    End If
Next
Ciao
@Alex
-------------------------------------------------
Ecco, questa si che e' una soluzione 'elegante'
Il bello e' che a pensarci un pochino e' anche semplice
"..eh si, ma se me lo dicevi prima..."
"...ma prima quando?.."
"..prima no, primaaaaa !!!.. "
Ciao e grazie mille
RobertoA

 @Alex
...allora si potrebbe creare una routine (modulo di classe) che all'apertura 
delle maschere esegue il tuo codice.
Cos� � fatta...e non tocchi nemmeno una form
:-))


 Cos� � fatta...e non tocchi nemmeno una form
Certo, sarebbe ancora piu' milliore
Sapendolo fare
Ciao
RobertoA