Hm, as long as the rectangle shap merely is added for visual aiding the user to see a group of controls, the container is not a natural replacement. Editing the form with containers you will need CTRL+Click to first click into the container, then can put controls inside and later get hands on these controls.
But for sure containers solve the zorder problem. Also you need to change adressing the controls, eg if you now have code adressing the textbos as Thisform.Textbox1, in the future this would be Thisform.Container1.Textbox1. If you have generic code adressing all controls this needs to add recursing into containers. Nothing new really, as even without usin containers you have the same with controls on pages of pageframes or within grid columns, they even have more levels of a hierarchy. Nevertheless, this can mean changing quite a lot of code, just for solving that zorder problem, you can always fix with a send to back of the rectangle.
So why not first try as Dan also suggested: Simply Send To Back the rectangle and Save the form. That should stay that way, as it really changes the record order, and records of an SCX don't reorder in between edits. Just give it oe more try. Or do you use any hacks into scxes?
On the other side, if this is not just for decoration it can even pay to first make a class based on container, put the group of controls you need into it and reuse it on many forms. Not only pageframes and their pages, but also such containers can be subforms or miniforms, which can be reused repeatedly. From that perspective the container is even a good coice, if you don't make it visible to the user, make it's border width 0 and its backstyle transparent.
From the VFP7 experience with the mangled form I talked about, containers are the controls on it changing their size, clipping the controls inside. So if the containers misbehave, this is even messier than just the zorder problem.
Take all his into account, I can just say I do use containers for the simplest combination of a label plus a control, with code inside that class taking care of the label caption in the currently configured language. Such small lightweight classes can even pay to write code once and use many times.
Bye, Olaf.