Ron,
Your problem is trying to check positional information before the form has painted. If you move the code to the form.Click() event you will see the results are the same for both objects.
>I have a grid in a page frame on a form. At runtime the top of the grid is 56 (relative to the top of the frame). I have a container that sits on top of the page frame not in. At run time the container top is 94 and I understand that is relative to the top of the form not the page frame.
>
>At design time I turn on SHOW POSITION and set the top of both objects TOP to be equal - according to the output in the status bar of the design surface - which happens to be 94.
>
>At Runtime when I interogate both objects top using ObjToClient() the grid object returns 90 and the container returns 94. I expect 94 on the grid object or at least both objects to be equal. What gives.