bij focus het veld een kleur in formulier....

Status
Niet open voor verdere reacties.

Twomax

Gebruiker
Lid geworden
17 jan 2015
Berichten
113
Zou graag als een veld wordt aangeklikt het veld tijdelijk willen laten oplichten zodat men beter ziet waar men op dat moment bezig is..weet iemand hoe ik dat moet doen met een code onder focus???
 
Laatst bewerkt:
Je vraag is een beetje vaag, aangezien je het over 'een veld' hebt en dus blijkbaar niet over een specifiek veld praat. En dat betekent dus dat je ofwel code zoekt die je bij een aantal velden binnen één specifiek formulier kunt gebruiken, ofwel code die je op elke willekeurige plek op elk willekeurig formulier kunt aanroepen. De laatste variant is uiteraard het meest flexibel, en gek genoeg ook het makkelijkst te maken :).
Laat ik daar dus even van uit gaan. Dan heb je in ieder geval een aparte module nodig waarin je een generieke functie maakt die 3 dingen doet:
1. de originele kleur vastleggen
2. de nieuwe kleur instellen bij focus (had je goed gezien)
3. de originele kleur herstellen bij verlaten (LostFocus)

Die functies zien er dan zo uit:
Code:
Option Compare Database
Dim iKleur As Long

Code:
Function FocusKleur()
Dim obj As Control
    Set obj = Screen.ActiveControl
    iKleur = obj.BackColor
    obj.BackColor = RGB(127, 200, 200)
End Function

Code:
Function oriKleur()
Dim obj As Control
    Set obj = Screen.ActiveControl
    obj.BackColor = iKleur
End Function

Het begint met het declareren van een Public variabele (die geldig is binnen de module; verder is niet nodig). Vervolgens een functie die de originele kleur toewijst aan iKleur, en een nieuwe kleur instelt. Ik doe dat met de functie RGB, zodat je makkelijk met het kleurenpakket een kleur kunt uitkiezen en de RGB waarden kunt uitlezen.
De tweede functie doet niks meer dan de originele kleur weer terugzetten.

Hoe gebruik je de 2 functies nu? Heel simpel: elk object (keuzelijst, tekstvak) op een formulier (subformulier; maakt niet uit) zet je de volgende formules bij de aangegeven gebeurtenissen:
<Bij focus>: =FocusKleur()
<Bij focus verloren>: =oriKleur()

En meer is het niet. Nu krijgt elke control die je aanklikt de gewenste achtergrondkleur. Bij verlaten ervan heb je de oorspronkelijke kleur weer terug.
 
Had inderdaad de voorwaardelijke opmaak gevonden en ook gebruikt in het formulier werkt prima ....toch bedankt
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan