* Grid.init >>this.setall("Format","!","textbox")Or individually set controls.
lParameters lcOldClass, lcNewClass, lcClassLib, lcApplyTo, lcKeepProperty, lcParams * * Quick and dirty builder for grid columns(ix).controls * gridbuild(lcOldClass, lcNewClass, lcClassLib [,lcApplyTo] [,lcKeepProperty] [,lcParams]) * Author : Cetin Basoz - simple tasks library * lcOldClass = Class to change ie: header * lcNewClass = New Class ie: myheader * lcClassLib = vcx or prg containing definition - if prg extension is required * lcApplyTo = Apply to columns list ie: 1,4,5 - all assumed if empty or ignored * lcKeepProperty - A property to keep as is if any ie: Caption * lcParams - Params passed to new class if any - ie : lnLeft, lnTop * * Sample calls : * 1)Replace all header class with myheader class (from myheaderset.prg) and keep caption property * =gridbuild("header","myheader","myheaderset.prg",,"caption") * * 2)Replace all textbox class with mytextbox class (from myclasses.vcx) * =gridbuild("textbox","mytextbox","myclasses") * * 3)Replace all textbox class with mytextbox class (from myclasses.vcx) in columns 1,3,5 * gridbuild("textbox","mytextbox","myclasses","1,3,5") * * Select one or more grids on form (design mode) and call * if type("lcOldClass") # "C" ; or type("lcNewClass") # "C" ; or type("lcClassLib") # "C" or empty("lcOldClass") ; or empty("lcNewClass") ; or empty("lcClassLib") wait window nowait "Required params missing." return endif lcApplyTo = iif(type("lcApplyTo")#"C","0",lcApplyTo) lcKeepProperty = iif(type("lcKeepProperty")="C",lcKeepProperty,"name") lcParams = iif(type("lcParams")="C",","+lcParams,"") if ratc(".prg",lcClassLib)>0 if !upper(lcClassLib)$set("Procedure") set proc to (lcClasslib) additive endif else if !upper(lcClasslib)$set("classlib") set classlib to (lcClasslib) additive endif endif aselobj(oGrids) for each oGrid in oGrids for each oColumn in oGrid.columns if lcApplyTo=="0" or inlist(oColumn.columnorder, &lcApplyTo) for each oControl in oColumn.controls if upper(oControl.class) = upper(lcOldClass) lcKeepName = oControl.name lcKeepPropValue = oControl.&lcKeepProperty oColumn.removeobject(lcKeepName) oColumn.addobject(lcKeepName,lcNewClass &lcParams) with eval("oColumn."+lcKeepName) .&lcKeepProperty = lcKeepPropValue endwith endif endfor endif endfor endforCetin