DRIVETYPE()

ZOrderSet

This is a stealth property, mysteriously added to some objects but inaccessible through the Form and Class Designers. When present, it can cause problems with your forms and classes.

Usage

ZorderSet = nPosition
You won't find ZOrderSet in the Property Sheet or in Help, or in any code anyone writes. However, under some circumstances that we haven't been able to track down, some controls in forms and visual classes have a ZOrderSet assignment among the items in their Properties memo field.

You might think that this happens when you use Bring to Front or Send to Back to reorder an object in the Z-plane (that is, the one that comes out from the page). But, nope, that reorders the records in the SCX or VCX to reflect their new Z-position. So does calling the ZOrder method at design-time.

We suspect that ZOrderSet might be a remnant of an earlier, discarded design for handling the Z-plane, but if so, there's still something somewhere that's creating this property assignment.

So who cares, right? Unfortunately, the presence of ZOrderSet can make it difficult to reorganize a form or class. When an object has a ZOrderSet assignment, it may be impossible to have Bring to Front and Send to Back assignments stick, or newly added objects may land in the wrong position Z-wise. The solution: Open the form or class as a table, and root out all assignments to ZOrderSet.

Not only can ZOrderSet creep into your forms and classes, but it happens to Microsoft, too. A rather disturbing number of forms and classes in the VFP installation directories show up as containing ZOrderSet. We can only imagine what kind of mischief this property is causing in those cases.


See Also

DoCreate, ZOrder


View Updates

Copyright © 2002 by Tamar E. Granor, Ted Roche, Doug Hennig, and Della Martin. All Rights Reserved.



Hacker's Guide to Visual FoxPro 7. 0
Hackers Guide to Visual FoxPro 7.0
ISBN: 1930919220
EAN: 2147483647
Year: 2001
Pages: 899

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net