FIX: ScaleLeft and ScaleTop Do Not Function

ID: Q180634


The information in this article applies to:


SYMPTOMS

The ScaleLeft and ScaleTop properties of a Form object do not affect the position of graphical renderings that are drawn with graphical methods such as DrawLine and DrawCircle.

In addition, the ScaleLeft and ScaleTop properties of a PictureBox object do not affect the position of graphical renderings that are drawn with graphical methods such as DrawLine and DrawCircle unless the methods are used in conjunction with the ScaleHeight and ScaleWidth properties.


RESOLUTION

For a PictureBox control, use the ScaleHeight and ScaleWidth properties in conjunction with the ScaleTop and ScaleLeft properties. For example:


   Private Sub Command1_Click()
      PictureBox1.ScaleTop = 100
      PictureBox1.ScaleLeft = -100
      PictureBox1.ScaleHeight = -200
      PictureBox1.ScaleWidth = 200
      PictureBox1.DrawLine 0, 0, 50, 50
   End Sub 
If you do not have a PictureBox control visible in your Control Toolbox, do the following:
  1. From the Windows CE menu, select Control Manager.


  2. Highlight PictureBox Class.


  3. From the Emulation menu, select Install. If this is successful then you should see a message box that says "Success: Registration MSCEPicture.dll Error = 000000000." Dismiss this message box.


  4. In the Visual Basic 5.0 design environment, from the Project menu, select Components, and then select Microsoft CE PictureBox Control 1.0. The PictureBox control should now be displayed in your Control Toolbox. It is similar in appearance to the PictureBox that is included with Visual Basic 5.0.



STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

This problem was corrected in Windows CE Toolkit for Visual Basic 6.0.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Windows CE Project in Visual Basic 5.0. Form1 is created by default.


  2. Place a CommandButton on Form1.


  3. Add the following code to Form1:
    
          Private Sub Command1_Click()
             Form1.ScaleTop = 1000
             Form1.ScaleLeft = 1000
             Form1.DrawLine 0, 0, 1000, 4000
          End Sub 


  4. Press the F5 key to run the application.


  5. Click the CommandButton, and note that altering these properties did not affect the position of the line.


Additional query words: wince vbce vbce5 vbce6


Keywords          : kbToolkit kbVBp kbVBp500bug kbVBp600fix kbWinCE kbWinCE100 kbGrpVB 
Version           : WINDOWS:1.0
Platform          : WINDOWS 
Issue type        : kbbug 

Last Reviewed: March 3, 1999