USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (ActiveX/Controles/DLL)

Título da Dica:  Dar um efeito de borda ou sombra a um Label
Postada em 31/1/2004 por PC            
'Ponha este código num form com dois labels desenhados. estes labels devem ter indice, mesmo que tenham nomes diferentes.
'a propriedade backstile do label tem que estar definida como transparent

Public Enum LabelEfeitos
    lblEfeitoSombra = 0
    lblEfeitoBorda = 1
End Enum

Sub Efeito_Label(lbl As Object, _
    iEfeitoSize As Integer, _
    cEfeitoColor As ColorConstants, _
    cTextColor As ColorConstants, _
    Optional LabelEfeito As LabelEfeitos = lblEfeitoSombra)
    
    Dim iMoveRight As Integer
    Dim iMoveDown As Integer
    Dim iCounter As Integer
    Dim iIterator As Integer
    Dim iStep As Integer
    
    For iIterator = 1 To lbl.Count - 1
        Unload lbl(iIterator)
    Next iIterator
    
    If LabelEfeito = lblEfeitoSombra Then
        For iIterator = 1 To iEfeitoSize
            Load lbl(iIterator)
            lbl(iIterator).ForeColor = cEfeitoColor
            lbl(iIterator).Left = lbl(iIterator - 1).Left - 1
            lbl(iIterator).Top = lbl(iIterator - 1).Top - 1
            lbl(iIterator).Visible = True
        Next iIterator
    ElseIf LabelEfeito = lblEfeitoBorda Then
        iCounter = 1
        Me.Show
        For iMoveRight = -1 To 1
            For iMoveDown = -1 To 1
                For iIterator = 1 To iEfeitoSize
                    Load lbl(iCounter)
                    lbl(iCounter).Left = lbl(0).Left + (iIterator * iMoveRight)
                    x = lbl(0).Left
                    x = lbl(iCounter).Left
                    lbl(iCounter).Top = lbl(0).Top + (iIterator * iMoveDown)
                    lbl(iCounter).ForeColor = cEfeitoColor
                    lbl(iCounter).Visible = True
                    iCounter = iCounter + 1
                Next iIterator
            Next iMoveDown
        Next iMoveRight
    End If
    lbl(0).ForeColor = cTextColor
End Sub

Private Sub Form_Load()
'desenhe dois labels com indice ... Label1(0), Label2(0)
    Efeito_Label Label1, 40, vbBlack, vbYellow, lblEfeitoSombra
    Efeito_Label Label2, 20, vbBlack, vbYellow, lblEfeitoBorda
End Sub
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página