Visual Basic para Aplicaciones - ¿Mover palabras en etiqueta de derecha a izquierda?

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

¿Mover palabras en etiqueta de derecha a izquierda?

Publicado por Gorka (42 intervenciones) el 30/08/2021 00:19:11
Hola buenas, necesito en un formulario añadir un label y que aparezca un mensaje como en scroll horizontal, vamos, que se mueva de derecha a izquierda. Hay mucho material pero usan el control Timer, que los que usamos vba, no lo tenemos.
He encontrado este codigo, de VB6, lo he probado y funciona perfecto. ¿Alguien me podria hacer los ajustes para vba? no consigo el mismo resultado. Habria que sustituir el temporizador Timer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Const speed As Byte = 1
Dim wid%
Dim hei%
Dim dc&
Const text = "       HELLO WORLD!!!       "
Private Sub Form_load()
 
dc = Picture1.hDC
 
  Picture1.CurrentX = 0
  Picture1.CurrentY = 0
  Picture1.Print text
  Picture1.ScaleMode = vbPixels
  wid = Picture1.TextWidth(text)
  hei = Picture1.TextHeight(text)
  Picture1.Width = wid * Screen.TwipsPerPixelX
  Picture1.Height = hei * Screen.TwipsPerPixelY
End Sub
 
 
Private Sub Timer1_Timer()
Dim i%
 
 
  For i = 0 To speed
 
    BitBlt dc, wid + 1, hei + 1, 1, hei, dc, 0, 0, &HCC0020 ' &hcc0020 is equvilent to vbSrcCopy
    BitBlt dc, 0, 0, wid, hei, dc, 1, 0, &HCC0020
    BitBlt dc, wid, 0, 1, hei, dc, wid + 1, hei + 1, &HCC0020
 
  Next i
    Picture1.Refresh
 
 
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder