Logo

Hacker’s Guide to Visual FoxPro
An irreverent look at how Visual FoxPro really works. Tells you the inside scoop on every command, function, property, event and method of Visual FoxPro.

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