Newsgroup: it.comp.appl.access
Titolo: colorare controlli maschere

Salve a tutti........ho un'altro problemino!
Premetto che ho già effettuato una ricerca sul sitocomune e i vari link 
senza però trovare qualcosa che mi potesse dare delle indicazioni.
Ho una maschera di inserimento dati con parecchie caselle di testo e 
caselle combinate.
Attualmente lo sfondo di questi controlli è impostato a trasparente, 
durante l'inserimento dati diventa bianco e dopo l'invio ritorna 
trasparente.
Esiste un modo per dare allo sfondo del controllo un altro colore dopo 
l'inserimento dati  in modo tale da facilitare visivamente 
l'individuazione del punto in cui si è arrivati?
Oppure, è possibile cambiare colore all'etichetta del controllo attivo?
GRAZIE..................ciao
 

 wrote in message
news:drle5v$c0l$
1...@carabinieri.cs.interbusiness.it

Vuoi che solo i controlli compilati vengano formattati nel colore...?
Si si può fare in 2 modi:
1)Su evento AfterUpdate di ogni controllo metti la formattazione
  Me!NomeControllo.BackColor=255
  Ovviamente su Current dovrai resettare tutti i colori.
2)Usando la tecnica delle Classi e delle Collection.
  Questo è più complesso sia da capire che da impostare, ma
  abbastanza comodo quando l'azione è ripetitiva.
  Nel sito di Karl come ausilio alla conferenza CISA1 c'è un DEMO
  di Marco Pizzamiglio(NAMOR) proprio su questo argomento.
  Il problema può nascere se i controlli da gestire non sono dello
  stesso tipo, ma la cosa è risolvibile.
  Altri esempi relativi alle classi(ma decisamente
  più complessi) li trovi nel mio Sito:
 
http://www.mantuanet.it/alessandro.baraldi/
  Sezione GENERAL --> SEZIONE DI CONTROLLI AVANZATI 
  2.1 Classi ed Eventi Public di Classi 
  2.2 Validazione DataEntry(uso avanzato Classi)
Se non hai molta dimestichezza con il codice ti consiglio
il metodo 1° che risulta meno tecnico ma altrettanto funzionale.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio 
news:drle5v$c0l$1...@carabinieri.cs.interbusiness.it...

Guardati sull'Help la BackColor Property, penso faccia al caso tuo.
Ciao
Morgan

Ti ringrazio per la risposta........
Siccome di dimestichezza con il codice ne ho proprio poca, ho applicato il 
primo metodo consigliato (anche se nel tuo 2.2 ho trovato alcuni spunti 
per risolvere altri problemini).
L'ho provato solo su una casella di testo ed effettivamente dopo 
l'inserimento il colore dello sfondo diventa rosso però ho notato che 
passando poi ad un nuovo record lo sfondo della stessa casella di testo si 
ripresenta già con il colore rosso (senza inserire nuovi dati):  ho 
sbagliato qualcosa?
Cosa intendi per resettare tutti i colori su Current?
Ho dovuto impostare la proprietà "stile sfondo" su normale anzichè 
trasparente perchè altrimenti non funzionava.
Grazie per la risposta e la pazienza.............ciao

 Grazie per la risposta e la pazienza.............ciao
Ciao


 ha scritto nel messaggio
news:drle5v$c0l$1...@carabinieri.cs.interbusiness.it...


 ha scritto nel messaggio
news:gRqDf.69801$eD5.1...@twister2.libero.it...


Di nuovo io..........
Dopo l'ultima tua risposta ho capito..........e avrei potuto, anzi dovuto, 
capire anche prima........però avrei ancora una domanda.
Su corrente della mia Form devo andare a scrivere tante righe di codice 
(Me!miocontrollo.Backcolor=16777215) quanti sono i controlli a cui vado ad 
applicare il backcolor=255 oppure esiste un modo per scrivere una sola 
riga di codice che li resetti tutti insieme?
Non sono pratico di VBA.
Ti ringrazio...........ciao

 wrote in message
news:drn2v9$a9j$
1...@balena.cs.interbusiness.it

Diciamo che sicuramente se scrivi l'elenco funziona.
Ora tutti i controlli sono contenuti nella Collection Controls
pertanto sono enumerabili.
Questo vale a dire che puoi anche fare un ciclo e resettarli.
Il problema è che nella Collection ci sono tutte le classi di controlli
pertanto TextBox, Label, Combo ecc....!
Quindi potremmo fare così:
Dim ctl as Access.Control
For Each ctl in Me.Controls
   If ctl.ControlType=axTextBox Then ctl.BackColor=ColoreReset
Next
set ctl=nothing
Nel tuo caso supponiamo siano solo TextBox, ma c'è da discriminare
se tutte le TextBox fanno parte del tuo sistema, supponi che
ci sia una sola TextBox che non rientra nell'elenco...!
A questo punto solitamente si usa uno stratagemma, la proprietà
TAG dei controlli.
Se metti nella proprietà TAG un identificativo, ad esempio "X"
puoi fare una cosa simile:
Dim ctl as Access.Control
For Each ctl in Me.Controls
   If ctl.TAG="X" Then ctl.BackColor=ColoreReset
Next
set ctl=nothing
Spero di essermi spiegato.


 wrote in message
news:drn2v9$a9j$
1...@balena.cs.interbusiness.it






Spero di essermi spiegato.
@Alex
