(hopefully the next piece of code is bug-free, no VB here, sorry)



Drop a picturebox on your form.

Name: picBackground
Picture: Your background image
AutoSize: True
AutoRedraw: True
ScaleMode: vbPixels
Font: Whatever font you want to use


Also drop a timer on your form:

Name: tmrScroll
Interval: 100 (experiment with this, unfortunately, the timer practically won't go lower than 50, or 10 on Windows NT)
Enabled: True



In the General -> Declarations of your form:

VB Code:
  1. Private lXPos As Long
  2. Private Message As String


Form_Load:

VB Code:
  1. Sub Form_Load()
  2.   lXPos = picBackground.ScaleWidth
  3.   Message = "Ain't that cute!"
  4. End Sub


tmrScroll_Timer:

VB Code:
  1. Sub tmrScroll_Timer()
  2.   ' Move text (change -1 for faster movement)
  3.   lXPos = lXPos - 1
  4.  
  5.   If lXPos < picBackground.TextWidth(Message) Then lXPos = picBackground.ScaleWidth
  6.  
  7.   ' Clear the picturebox
  8.   picBackground.Cls
  9.  
  10.   ' Draw the text
  11.   picBackground.CurrentX = lXPos
  12.   picBackground.CurrentY = (picBackground.ScaleHeight - picBackground.TextHeight(Message)) / 2
  13.   picBackground.Print(Message)
  14.  
  15.   ' Display changes
  16.   picBackground.Refresh
  17. End Sub


Now that's the non-API way, you could also replace CurrentX, CurrentY and Print with the TextOut API, but I don't know the declaration, and this should also work theoretically

Note that when you are going to use the API, ScaleMode has to be Pixels, so just in case I already let you set it

Hope that helps...