Marquesina

10/07/2003 - 10:57 por Tomás | Informe spam
Buenas,

Estoy intentando hacer una marquesina que no pegue saltos. Imposible. No
consigo hacer un efecto suave sin saltitos. Y eso que tengo un timer de esos
que al parecer son Exactos. Si alguien tiene una idea estaría agradecido.

Un Saludo,
Tomás
 

Leer las respuestas

#1 Softjaen
13/07/2003 - 15:57 | Informe spam
"Tomás" escribió:

Estoy intentando hacer una marquesina que no pegue saltos.



Hola, Tomás:

No sé si los "saltos" del siguiente ejemplo te gustarán. Inserta dos
«PictureBox» y dos controles «Timer», y pega el código en la sección
«Declaraciones» del formulario. Las "marquesinas" escribiran de
derecha-izquierda y de izquierda-derecha:

Option Explicit

Private Sub Form_Load()
Picture1.Width = 3255
Picture2.Width = 3255
Timer1.Interval = 100
Timer2.Interval = 100
End Sub

Private Sub Timer1_Timer()
Derecha_A_Izquierda
End Sub

Sub Derecha_A_Izquierda()

Static iContador As Integer
Static sTexto As String

If Len(sTexto) = 0 Then
iContador = 1
sTexto = "Este texto aparecerá de Derecha a Izquierda..."
End If

' Eliminamos el texto y escribimos el mensaje,
' para que haga el efecto de desplazamiento
Picture1.Cls
Picture1.Print Mid$(sTexto, iContador); sTexto;

iContador = iContador + 1

If iContador > Len(sTexto) Then iContador = 1

End Sub

Sub Izquierda_A_Derecha()

Static iContador As Integer
Static sTexto As String

If Len(sTexto) = 0 Then
iContador = 1
sTexto = "Este texto aparecerá de Izquierda a Derecha..."
End If

' Eliminamos el texto y escribimos el mensaje,
' para que haga el efecto de desplazamiento
Picture2.Cls
Picture2.Print Right$(sTexto, iContador); sTexto;

iContador = iContador + 1

If iContador > Len(sTexto) Then iContador = 1

End Sub

Private Sub Timer2_Timer()
Izquierda_A_Derecha
End Sub

Un saludo.

Enrique Martínez
[MS MVP - VB]

Preguntas similares