Local oForm Activate Screen clear oForm = CreateObject('MyForm') oForm.Show(1) Return Define Class MyForm As Form Add Object PF As MyPageFrame Autocenter = .T. && Only for read the background screen Function Init() Activate Screen ? 'MyForm Init' EndFunc FUNCTION PF.Init() Activate Screen ? 'MyPageFrame Init' This.Page3.AddObject('CntGrid', 'MyCnt') && This will fire Uienble in the text of Mycnt This.Page5.AddObject('CntGrid', 'MyCnt') && This will fire Uienble in the text of Mycnt And && in The text of "cnt" that yet exists in class MyPage (Page5) EndFunc EndDefine Define Class MyPage As Page Add Object cnt As Mycnt ENDDEFINE Define Class MyPageFrame As PageFrame Add Object Page1 As Page Add Object Page2 As Page Add Object Page3 As Page Add Object Page4 As MyPage && Page4 don't fire uienable creating it Add Object Page5 As MyPage EndDef Define Class MyCnt As container ADD Object Text As MyText Visible = .T. && Deleting this line the uienable don't fire during the init of pageframe EndDef Define Class MyText As TextBox Function UiEnable(lEnable) If lEnable Activate Screen ? 'Text UiEnable (' + This.Parent.Parent.Name + ')' EndIf ENDFUNC ENDDEFINE