Define Class PSHeader As Header cHOrder = "" nOrderColor = Rgb(0,0,255) nNotOrderColor = 0 cCallMethod = 'Refresh()' cPictureProp = '' Procedure Init Lparameters tcOldCaption, tcFontName, tnOldForeColor, tllOldFontUnderline, tcMethodName, tcOrder, tlOldWordWrap, tcPictureProp DoDefault() This.Alignment = 2 This.Caption = tcOldCaption This.ForeColor = tnOldForeColor This.FontUnderline = tllOldFontUnderline this.WordWrap = tlOldWordWrap This.FontName = tcFontName This.nNotOrderColor = tnOldForeColor If !Empty(tcMethodName) This.cCallMethod = Alltrim(tcMethodName) ENDIF If !Empty(tcPictureProp) This.cPictureProp = Alltrim(tcPictureProp) Endif *This.cHOrder = Strextract(Lower(This.Name),'grh') IF ([*] $ tcOrder) OR ([+] $ tcOrder) OR ([-] $ tcOrder) OR ([/] $ tcOrder) OR ([(] $ tcOrder) this.cHOrder = [] ELSE this.cHOrder = ALLTRIM(tcOrder) ENDIF Endproc Procedure DblClick lcOrder = This.cHOrder If !Empty(lcOrder) This.Parent.Parent.SetAll("ForeColor", This.nNotOrderColor, "PSHeader") This.Parent.Parent.SetAll("FontUnderline", .F., "PSHeader") this.Parent.Parent.SetAll("Picture",'',"PSHeader") This.ForeColor = This.nOrderColor This.FontUnderline = .T. lcCallMethod = [THIS.Parent.Parent.] + This.cCallMethod + [(lcOrder)] &lcCallMethod IF !EMPTY(This.cPictureProp) lcPictureName = [THIS.Parent.Parent.] + This.cPictureProp this.Picture = &lcPictureName ENDIF Else * Leave as is Endif Endproc Enddefine