define class myheader as header procedure click This.Parent.Parent.HeaderClick(this) endproc enddefineThen you add it at run-time by removing the existing header and doing an addobject(). Then in your grid class make sure you have a HeaderClick method so you can add your code to the grid, this way you only need one header class kicking around, with multifunctional headers.