Home
Home

---Soumis par Dev Ashish---

Un effet OnMouseOver.

(Q)    Comment créer un effet à la  OnMouseOver pour un formulaire Access?

(A)    La procédure événementielle 'équivalente, sous Access, est  OnMouseMove.  On peut appeler une fonction pour montrer cet effet désiré et utiliser la procédure événementielle du  OnMouseMove événementielle, pour enlever l'effet.

    Ainsi, pour chaque étiquette du formulaire, placer la fonction fSetFontBold sous leur procédure événementielle  OnMouseMove en passant le nom de l'étiquette comme argument à la fonction.

[OnMouseMove]    = fSetFontBold("lblThisLabel")

Pour le formulaire, dans sa section détail, on utilisera plutôt la fonction fRemoveFontBold dans la procédure événementielle  OnMouseMove.

[OnMouseMove]    = fRemoveFontBold()

On créera également une variable ayant une portée (scope) sur tout le formulaire, variable qui contiendra le nom du dernier contrôle à avoir fait appel à la procédure fSetFontBold.

Dim mstPrevControl As String

'**************** Code Start *************
Function fSetFontBold(stControlName As String)
Const cBold = 700
Const cNormal = 400
    On Error Resume Next
    With Me(mstPrevControl)
        .FontWeight = cNormal
        .ForeColor = 1279872587
    End With
    mstPrevControl = stControlName
    With Me(stControlName)
        .FontWeight = cBold
        .ForeColor = 0
    End With
End Function

Function fRemoveFontBold()
Const cNormal = 400
    On Error Resume Next
    With Me(mstPrevControl)
        .FontWeight = cNormal
        .ForeColor = 1279872587
    End With
End Function
'***************** Code End ****************