Rith,
In the spirit of keeping this a place where one can go without being "beat
up", here's a simple project to demonstrate a solution -- just for fun I
made it work in all four directions, rather than just right and left. See
what you think.
In a new project, put four timers and a picture box on Form1, then put a
label in the picture box (the picture box must be the label's parent
object). Let all the objects default to standard names. Paste the
following into the code of Form1 and give it a try:
Option Explicit
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEscape Then
Timer1.Enabled = False
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Unload Me
End If
End Sub
Private Sub Form_Load()
Timer4.Enabled = False
Timer3.Enabled = False
Timer2.Enabled = False
Timer1.Enabled = False
Me.Width = 2200
Me.Height = 2000
Picture1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight
Label1.Caption = "O"
Label1.Width = 135
Label1.Height = 195
Label1.Top = 0
Label1.Left = 0
Timer1.Interval = 2
Timer2.Interval = 2
Timer3.Interval = 2
Timer4.Interval = 2
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If (Label1.Left + Label1.Width + 25) > Picture1.ScaleWidth Then
If (Label1.Top + Label1.Height + 25) > Picture1.ScaleHeight Then
Label1.Move (Label1.Left - 25), (Label1.Top - 25)
Timer1.Enabled = False
Timer4.Enabled = True
Else
Label1.Move (Label1.Left - 25), (Label1.Top + 25)
Timer1.Enabled = False
Timer2.Enabled = True
End If
Else
If (Label1.Top + Label1.Height + 25) > Picture1.ScaleHeight Then
Label1.Move (Label1.Left + 25), (Label1.Top - 25)
Timer1.Enabled = False
Timer3.Enabled = True
Else
Label1.Move (Label1.Left + 25), (Label1.Top + 25)
Timer1.Enabled = True
End If
End If
End Sub
Private Sub Timer2_Timer()
If (Label1.Left - 25) < 0 Then
If (Label1.Top + Label1.Height + 25) > Picture1.ScaleHeight Then
Label1.Move (Label1.Left + 25), (Label1.Top - 25)
Timer2.Enabled = False
Timer3.Enabled = True
Else
Label1.Move (Label1.Left + 25), (Label1.Top + 25)
Timer2.Enabled = False
Timer1.Enabled = True
End If
Else
If (Label1.Top + Label1.Height + 25) > Picture1.ScaleHeight Then
Label1.Move (Label1.Left - 25), (Label1.Top - 25)
Timer2.Enabled = False
Timer4.Enabled = True
Else
Label1.Move (Label1.Left - 25), (Label1.Top + 25)
Timer2.Enabled = True
End If
End If
End Sub
Private Sub Timer3_Timer()
If (Label1.Left + Label1.Width + 25) > Picture1.ScaleWidth Then
If (Label1.Top - 25) < 0 Then
Label1.Move (Label1.Left - 25), (Label1.Top + 25)
Timer3.Enabled = False
Timer2.Enabled = True
Else
Label1.Move (Label1.Left - 25), (Label1.Top - 25)
Timer3.Enabled = False
Timer4.Enabled = True
End If
Else
If (Label1.Top - 25) < 0 Then
Label1.Move (Label1.Left + 25), (Label1.Top + 25)
Timer3.Enabled = False
Timer1.Enabled = True
Else
Label1.Move (Label1.Left + 25), (Label1.Top - 25)
Timer3.Enabled = True
End If
End If
End Sub
Private Sub Timer4_Timer()
If (Label1.Left - 25) < 0 Then
If (Label1.Top - 25) < 0 Then
Label1.Move (Label1.Left + 25), (Label1.Top + 25)
Timer4.Enabled = False
Timer1.Enabled = True
Else
Label1.Move (Label1.Left + 25), (Label1.Top - 25)
Timer4.Enabled = False
Timer3.Enabled = True
End If
Else
If (Label1.Top - 25) < 0 Then
Label1.Move (Label1.Left - 25), (Label1.Top + 25)
Timer4.Enabled = False
Timer2.Enabled = True
Else
Label1.Move (Label1.Left - 25), (Label1.Top - 25)
Timer4.Enabled = True
End If
End If
End Sub
Do you remember the old game called "Pong"? With a little work...
Have fun!
Pete
-----Original Message-----
From: Richard Ainsley [mailto:rainsley@p...]
Sent: Tuesday, December 03, 2002 2:29 PM
To: professional vb
Subject: [pro_vb] RE: Label Marquee in VB 6
Rith:
The code posted earlier is NOT Vb6 - it is Access basic. "Bware" is an
appropriate auther.
-----Original Message-----
From: bwarehouse [mailto:bwarehouse@y...]
Sent: Tuesday, December 03, 2002 6:55 AM
To: professional vb
Subject: [pro_vb] RE: Label Marquee in VB 6
ok. here we go:
docommand.Slide from left to right
docommand.Slide from right to left
docommand.electric slide
AND finally:
DoTHEcommandsYourSelf!nOfReebIeShere
END STATEMENT
later,
bware
-----Original Message-----
From: Williams, Sean [mailto:swilliams@g...]
Sent: Tuesday, December 03, 2002 5:12 AM
To: professional vb
Subject: [pro_vb] RE: Label Marquee in VB 6
Funny,
I am not a Uni Student, have been playing with VB for about 6 months
And figured a very basic way to do something like this in about 5 minutes..
:)
Would have thought a uni Computer science student should be able to sort
this out...
-----Original Message-----
From: sorith@h... [mailto:sorith@h...]
Sent: Tuesday 3 December 2002 13:08
To: professional vb
Subject: [pro_vb] Label Marquee in VB 6
Hello FriendZ
I am a uni student in computer science. Please help me how to make a label
run like marquee in a form.
- Slide from left to right
- Slide from right to left
- Slide Alternate from left to right then hit the border and return.
Thanks so much for help.
Rith