define class FormScanner as custom procedure ScanControls lparameters oParentContainer local i,oControl for each oControl in oParentContainer.controls do case case oControl.baseclass="Pageframe" for i = 1 to oControl.pagecount this.ScanControls(oControl.pages(i)) next case oControl.baseclass="Container" this.ScanControls(oControl) case oControl.baseclass="Grid" for i = 1 to oControl.columncount this.ScanControls(oControl.columns(i)) next otherwise this.with_object(oControl) endcase endfor this.with_object(oParentContainer) procedure with_object lparameters oControl wait wind oControl.name timeout 0.5 enddefineThen simply drop that class object to form you want to scan
thisform.FormScanner1.ScanControls(thisform) *Or any other containership thisform.FormScanner1.ScanControls(thisform.myPageFrame1) thisform.FormScanner1.ScanControls(thisform.myContainer1) *etcHTH