ID Number: Q83757
1.00
WINDOWS
buglist1.00
Summary:
If you use the 3-D Panel custom control as a gauge, the area above the
FloodPercent value is not refreshed automatically. This can become a
problem if you overlap the panel with another window, or minimize and
then restore the form with the 3-D Panel. Portions of the screen that
were behind the 3-D Panel may still be displayed on the 3-D Panel.
To work around this problem, call the Refresh method after
changing the value of FloodPercent.
Microsoft has confirmed this to be a problem with the 3-D Panel custom
control supplied with Microsoft Professional Toolkit for Microsoft
Visual Basic programming system version 1.0 for Windows. We are
researching this problem and will post new information here as it
becomes available.
More Information:
Workaround
----------
To work around this problem, call the 3-D Panel Refresh method, as
shown below. On some systems, the Refresh method may produce
flickering. If this is the case, you may want to use the Gauge control
included with the Visual Basic Professional Toolkit instead of the 3-D
Panel.
Sub Command1_Click ()
Panel3D1.FloodType = 1 'fill left to right
For index% = 1 To 100
Panel3D1.FloodPercent = index%
'* place this time delay loop to slow the
'* flood fill down to see the effects
For i% = 1 To 10000: Next
'* DoEvents is necessary so that
'* FloodPercent will take effect
dummy% = DoEvents()
Panel3D1.Refresh
Next
End Sub
Steps to Reproduce Problem
--------------------------
1. Run Visual Basic, or from the File menu, choose New Project (ALT,
F, N) if Visual Basic is already running. Form1 is created by
default.
2. From the File menu, choose Add File. In the Files box, select the
THREED.VBX custom control file. The 3-D Panel tools appear in the
Toolbox.
3. Add a 3-D Panel custom control and a standard command button to the
form.
4. In the Command1_Click event procedure, add the following code:
Sub Command1_Click ()
Panel3D1.FloodType = 1 'Fill left to right
For index% = 1 To 100
Panel3D1.FloodPercent = index%
'* place this time delay loop to slow the
'* flood fill down to see the effects
For i% = 1 To 10000: Next
'* DoEvents is necessary so that
'* FloodPercent will take effect
dummy% = DoEvents()
Next
End Sub
5. Press F5 to start your program. Position another window, such as
the Program Manager, behind the area of the screen that the 3-D
Panel covers.
6. Click on the command button. Immediately after you click that
button, minimize the form and then immediately restore the form by
double-clicking on the form's icon. You should see portions of the
"other" window bleed through the 3-D Panel in the area that is
above the current value of FloodPercent. As FloodPercent is
incremented, this area will be covered.
Additional reference words: 1.00 3D