>Some of the pages are defined in code ina procedure file with define class .. this isn't being done in the form designer. Thanks for the suggestion though.
Jack,
It does not make any difference whether your form is in a prg or in an scx. You can delay instantiation of the contents of the pages until the page is brought forward.
In your prg define a class as container for each page of the pageframe. Do not addobject these containers in the class definition for the form. Instead, in each page's UIEnable Event you can use code like this;
FUNCTION UIEnable\
IF This.ControlCount < 1
This.AddObject("Container","Page1Container")
This.Page1Container.Visible = .T.
ENDIF
This assumnes you create a container class definition for each page that is named Page#Container where # is the page number of the pageframe.
This approach will populate the first page of the pageframe on form load and then each will be populated the first time the user goes to it.