BUG: Picture Box Limits CurrentX & CurrentY of -32768 to 32767 (150236)



The information in this article applies to:

  • Microsoft Visual Basic Professional Edition, 16-bit, for Windows 4.0
  • Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows 4.0

This article was previously published under Q150236

SUMMARY

The Picture box limits setting of the CurrentX and CurrentY values to between -32768 to +32767 twips, which are the limits of a signed integer. This behavior occurs because CurrentX and CurrentY are stored as Singles. The Height and Width properties of the Picture box can be made larger than the limits given.

RESOLUTION

To set the CurrentX and CurrentY values to larger values than the limits given, use the PSet method. For example, the following line of code sets the X and Y positions to 40000, 40000:
   Picture1.PSet (40000, 40000), Picture1.BackColor
				
A debug print of the CurrentX and CurrentY values after the statement above is executed confirms that they hold the correct values of 40000,40000.

STATUS

Microsoft has confirmed this to be an issue in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Problem

  1. Start a new project in Visual Basic. Form1 is created by default.
  2. Place a Picture box on Form1.
  3. Place the following code in the Click event of Form1:
          Private Sub Form_Click()
          Picture1.Height = 40001
          Picture1.Width = 40001
          Picture1.CurrentX = 40000
          End Sub
    						
Run the program by pressing F5, and click the form. The following error occurs:
Run-time error '6'
Overflow
To implement the workaround, change the code in the Click event to:
   Private Sub Form_Click()
   Picture1.Height = 40001
   Picture1.Width = 40001
   Picture1.PSet (40000, 40000), Picture1.BackColor
   MsgBox Picture1.CurrentX
   End Sub
				

Modification Type:MinorLast Reviewed:1/8/2003
Keywords:kbBug KB150236