1 Create a custom visual class for a textbox 2 Add a property for PrgClass 3 Add a property for PrgClassSourcePrg 4 Add a this._access method 5 In the instanciate method add code this.PrgClass = newobj(this.prgclass,this.prgclasssourceprg) this.prgClass.cParent = sys(1272, this) 6 In the this._access lparameters cPropMeth if cPropMeth <> 'prgclass' return this.prgclass endif return this 7 In the programatic class add property for cParent 8 Add method cParent_assign 9 In the cParent_assign lparameter xVal xVal = 'thisform.' + right(xVal,at('.',xVal)) this.cParent = xVal 10. in any methods of the programmatic class which should affect the visual attributes of the textbox use the following store visualattribute to ( this.cParent + '.visualattribute') 11. Make sure programmatic class has all event functions defined.this way with one generic text box any functionality can be had using programatic classes. I don't know if this is possible but it seems feasable.