Effet d'embosse dans un label

Description

Comment puis-je donner un effet d'embosse dans un Label ?

Créez un Formulaire avec 3 Label respectivement appelés Label1, Label2, Label3
Puis, mettez ce Code dans un Module :

Source / Exemple :


Global Const GFM_STANDARD = 0
Global Const GFM_RAISED = 1
Global Const GFM_SUNKEN = 2

Global Const GFM_BACKSHADOW = 1
Global Const GFM_DROPSHADOW = 2
     
Global Const BOX_WHITE& = &HFFFFFF
Global Const BOX_LIGHTGRAY& = &HC0C0C0
Global Const BOX_DARKGRAY& = &H808080
Global Const BOX_BLACK& = &H0&

Public Sub LabelEmbosse(Label1 As Label, Label2 As Label, Label3 As Label, LeText As String, Effet As Integer, CouleurText As Long, Profondeur As Integer)
    Dim LeTextDuLabel As String
    Dim Mesure As Integer
    Dim MonForm As Form
    Set MonForm = Label1.Parent
         
    Label1.Visible = False
    Label2.Visible = False
    Label3.Visible = False

    Mesure = MonForm.ScaleMode
    MonForm.ScaleMode = 3

    If LeText = "" Then
        LeTextDuLabel = Label1
    Else
        LeTextDuLabel = LeText
    End If

    Label1 = LeTextDuLabel
    Label2 = LeTextDuLabel
    Label3 = LeTextDuLabel

    Label1.BackStyle = 0
    Label1.ForeColor = CouleurText

    Label2.Width = Label1.Width
    Label2.Height = Label1.Height
    Label2.BackStyle = Label1.BackStyle
        
    Label2.ForeColor = BOX_DARKGRAY&

    Label3.Width = Label1.Width
    Label3.Height = Label1.Height
    Label3.BackStyle = Label1.BackStyle
        
    Label3.ForeColor = BOX_WHITE&

    Select Case Effet
        Case GFM_SUNKEN
            Label2.Left = Label1.Left - Profondeur
            Label2.Top = Label1.Top - Profondeur
            Label3.Left = Label1.Left + Profondeur
            Label3.Top = Label1.Top + Profondeur
        Case GFM_RAISED
            Label2.Left = Label1.Left + Profondeur
            Label2.Top = Label1.Top + Profondeur
            Label3.Left = Label1.Left - Profondeur
            Label3.Top = Label1.Top - Profondeur
    End Select

    MonForm.ScaleMode = Mesure

    Label1.Visible = True
    Label2.Visible = True
    Label3.Visible = True
    Label1.ZOrder

End Sub

' Mettez ce code dans Votre Form_Load pour donner l'effet au démarrage du Formulaire :

Private Sub Form_Load()
    Call LabelEmbosse(Label1, Label2, Label3, "Text Embossé", 1, 1, 1)
End Sub

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.