Microsoft KB Archive/129208

= Pixel Replaces Foxel as Default Scale Value in Design Mode =

Article ID: 129208

Article Last Modified on 2/12/2000

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition

-



This article was previously published under Q129208



SUMMARY
In earlier releases of FoxPro, the default scale value has been the Foxel. The definition of a foxel is:

A foxel is equivalent to the average height and width of a character based on the current font of the form in which an object is contained. Foxels are useful when developing cross-platform applications for character-based and graphical platforms.

Beginning with Visual FoxPro, the default value for the Form and Class designer is the pixel. As documented in the online Help file, the definition of a pixel is:

The smallest element that can be displayed on a screen or printer. Pixels are screen-dependent.



MORE INFORMATION
The ramifications for this can be significant. When designing a new class or form, the default measurement unit is now the pixel. Because a pixel is significantly smaller than a foxel, screens and all objects placed on them will likely be mis-aligned unless the correct measurement unit is chosen.

The Scalemode property can be found on the Form Layout properties tab or it can be accessed by code in a program. Visual FoxPro supports two entries for this property:

0 - Foxels

3 - Pixels

In general, you should design forms and classes using the foxel measurement when your application is intended to be used across platforms or when the font metrics are likely to change (small to large fonts, for example). To ensure that you are using the correct measurement, you will need to set it explicitly. The following code demonstrates how to do it: * Demonstration of pixel versus Foxel scale modes. *   *--*    PUBLIC MyForm MyForm = CREATEOBJECT("MyForm")    && To instance an new object

MyForm.Show                        && To Show

DEFINE CLASS myform AS form scalemode = 0 && Foxels ADD OBJECT cmd1 as commandbutton WITH ; top = 10, ; left = 10 ENDDEFINE

*End code definition With this definition, the button should appear in the lower third of the form. If you change the scalemode to 3, the button will be moved to the upper left corner of the screen. Again, if scalemode is not set to 0, this will have the same effect as explicitly setting the scalemode to 3.

Alternatively, in a form, you can set this by going to the Form Layout properties tab and choosing the appropriate value.

Additional query words: foxels pixels xplatform crossplat 3.00

Keywords: kbcode KB129208

-

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

© Microsoft Corporation. All rights reserved.