Microsoft KB Archive/79601

= How to Place Animated Graphics on a Minimized Form in VB =

Article ID: 79601

Article Last Modified on 11/18/2003

-

APPLIES TO


 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 1.0 Standard Edition

-



This article was previously published under Q79601



SUMMARY
You can place animated graphics onto a minimized form in Visual Basic. Normally, when a form is minimized, the form is replaced with an icon that had been previously set using the Icon property of that form. This icon is an actual bitmap that cannot be manipulated. Using the method below, the icon can be replaced with a set of graphics methods that will draw to the minimized form.



MORE INFORMATION
To place animated graphics onto a minimized form, you must use a timer event. This will allow the program to continue its animation when the form is minimized. A minimized form is just like a non-minimized form, except its size is decreased and certain rules apply. The following guidelines should be followed when creating animated graphics on a form:


 * The AutoRedraw property must be set to 0 (False).
 * The user must place routines in the Paint event procedure to handle cases when the Paint event occurs in the maximized form. In the minimized form, a Paint event never occurs, and you must depend upon the timer event to refresh the icon representing the minimized form.
 * The user must handle the painting of the background because a minimized form has no background, only foreground.
 * Adjust your animation to the size of the minimized form by using either the Scale method or the ScaleWidth and ScaleHeight property.

The following example creates an animated icon that displays random circles every 500 milliseconds:

 From the File menu, choose New Project. Remove the icon from the Icon property. (You can do this by selecting the Icon property and pressing the DELETE key.) Place a new timer control on the form. Change the timer interval to 500.  Type the following code into the new timer event: Static prevx!, prevy! If windowstate = 1 Then          'Checks to see if form is                                  'minimized. form1.Scale (0, 0)-(100, 100) 'Sets the max height and 'width of the form. fillcolor = QBColor(0) Circle (prevx!, prevy!), scalewidth / 10, QBColor(0) fillstyle = 0 fillcolor = QBColor(1) prevx! = Int(Rnd(1) * scalewidth) + 1 prevy! = Int(Rnd(1) * scaleheight) + 1 Circle (prevx!, prevy!), scalewidth / 10, QBColor(1) End If                        From the Run menu, choose Start. Minimize the form by choosing Minimize from the control box menu, or click the minimize arrow (the minimize arrow is the down arrow) on the form.</li></ol>

Additional query words: 2.00 3.00

Keywords: KB79601

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.