When doing animation, such as scrolling a label or using picture boxes, I first used the method described by Eric Bernatchez (“Smoother Control Animation,” “101 Tech Tips for VB Developers,” Supplement to the February 1997 issue of VBPJ, page 21). However, I found that while in the Do Loop, the CPU usage is 100 percent! Windows NT, Windows 95, and Win32 have an API call named SLEEP. This call suspends the called application for the supplied amount of milliseconds. When you change the code, the CPU usage on a Pentium 100 drops to 10 percent:
Declare Sub Sleep Lib "kernel32" ( _ ByVal dwMilliseconds As Long)Public Sub Scrolling() Label1.Left = Me.Width Do Sleep 100 Label1.Left = Label1.Left - 60 DoEvents Loop Until Label1.Left <= -(Label1.Width + 15)End Sub
The only problem with this method is that your app won't respond to userinput while it sleeps, so don't let it sleep too long.