IF THIS.lActivateRunOnce THIS.lActivateRunOnce = .F. THIS.SetFocusToFirstControl(.T.) ENDIFform.SetFocusToFirstControl()
LPARAMETERS tlInit #DEFINE CLASSLIST_DEF "CHECKBOX", "LISTBOX", "COMBOBOX", "COMMANDBUTTON", "OPTIONBUTTON", "SPINNER", "TEXTBOX", "EDITBOX", "GRID" IF tlInit LOCAL lnLoop, lnClass, lnLoopPages, lnPagesControls, lcPageControlClass, lnPages WITH THISFORM FOR lnLoop = .CONTROLCOUNT TO 1 STEP -1 lcClass = UPPER(.CONTROLS[lnLoop].BASECLASS) IF INLIST(lcClass, CLASSLIST_DEF) THIS.oFirstControl = .CONTROLS[lnLoop] ELSE IF lcClass ="PAGEFRAME" lnPages = .CONTROLS[lnLoop].PAGECOUNT *!* FOR lnLoopPages = lnPages TO 1 STEP -1 lnLoopPages = 1 FOR lnPagesControls = .CONTROLS[lnLoop].PAGES[lnLoopPages].CONTROLCOUNT TO 1 STEP -1 lcPageControlClass = UPPER(.CONTROLS[lnLoop].PAGES[lnLoopPages].CONTROLS[lnPagesControls].BASECLASS) IF INLIST(lcPageControlClass, CLASSLIST_DEF) THIS.oFirstControl = .CONTROLS[lnLoop].PAGES[lnLoopPages].CONTROLS[lnPagesControls] ENDIF ENDFOR *!* ENDFOR ENDIF ENDIF ENDFOR ENDWITH ENDIF THIS.pgf.ACTIVEPAGE = 1 THIS.oFirstControl.SETFOCUS()Hope it helps. I also welcome suggestion if this code can be made to better perform or placed better in the classes/framework.