Neste exemplo estou aplicando o código no MS Access, mas com poucas adaptações também pode ser aplicado aos demais produtos da suíte MS Office.
É um efeito que deve ser usado de forma comedida, caso contrário chama muito a atenção. Talvez possa utilizá-lo:
- Quando termina um processamento e você deseja chamar a atenção para o formulário;
- Quando determinado valor é alcançado, deseja que o formulário já indique chamando a atenção;
- etc...
Para aplicá-lo a um formulário insira o código dessa maneira (Defina 300 ms para testar):
Private Sub Form_Timer()
' Author: Date: Contact: URL:
' Atualiza o relógio para ver que funciona.
[Form_frm_Avisos].Caption = AniText(" Software Bernardes® - Copyright© Bernardes S.A.", 3)
[Form_frm_Avisos].Repaint
End Sub
Agora, você pode aplicar este efeito também no título da aplicação, ou seja, alterar o Caption do próprio MS Access. Isso envolve o título da janela aberta e também o ícone na barra de trabalho. Como?
Private Sub Form_Timer()
' Author: Date: Contact: URL:
' Atualiza o relógio para ver que funciona.
Dim dbs As Database
Set dbs = CurrentDb
'Me.lblTime.Caption = ""
[Form_frm_Avisos].lblTime.Caption = Right(Now(), 9)
[Form_frm_Avisos].Caption = AniText(" Software Bernardes® - Copyright© Bernardes S.A.", 3)
dbs.Properties!AppTitle = AniText(" Software Bernardes® - Copyright© Bernardes S.A.", 1)
Application.RefreshTitleBar
[Form_frm_Avisos].Repaint
End Sub
Sim, mas para que esse processo funcione, precisamos da função AniText, segue:
Global Cl As Integer
Global at As Integer
Public Function AniText(str As String, eff As Integer) As String
' Author: Date: Contact: URL:
' Retorna a string animada.
Dim lop
Let Cl = Len(str) + 1
Let at = at + 1
If at >= Cl Then
Let at = 1
End If
Select Case eff
Case 0 'Move to Right
Let AniText = Mid(str, at) + Left(str, at)
Case 1 'Move to Left
Let AniText = Mid(str, (Cl - at)) + Left(str, (Cl - at))
Case 2 'Move to Centre
Let AniText = Mid(str, (Cl - at)) + Left(str, (Cl - at)) + Mid(str, at) + Left(str, at)
Case 3 'Move to BothSide
Let AniText = Mid(str, at) + Left(str, at) + Mid(str, (Cl - at)) + Left(str, (Cl - at))
End Select
End Function
References:
Tags: VBA, Office, Access, Tips, animar, animate, form, formulário, caption, move, mover, string, texto,