LOCAL oCol FOR EACH oCol IN THIS.COLUMNS IF TYPE('oCol.Header1')='O' oCol.REMOVEOBJECT('Header1') oCol.NEWOBJECT('Header1','Header_indexa','Header_indexa.prg') ENDIF oCol = .NULL. ENDFORNeste caso estou substituindo o comportamento do evento click por um contido no Header_indexa.prg
DEFINE CLASS Header_indexa AS HEADER PROCEDURE CLICK LOCAL nome_cursor, nome_coluna, nrecno, nome_grade nrecno = IIF(EOF() OR BOF(),1,RECNO()) nome_coluna = THIS.PARENT.CONTROLSOURCE nome_coluna = SUBSTR(nome_coluna,AT('.',nome_coluna) + 1) nome_cursor = SUBSTR(nome_coluna,1,AT('.',nome_coluna) -1) nome_grade = THIS.PARENT.PARENT.NAME IF TAGCOUNT(nome_cursor) > 0 FOR nCount = 1 TO 30 IF !EMPTY(TAG(nCount)) IF UPPER(TAG(nCount)) = UPPER(nome_coluna) DO CASE CASE UPPER(JUSTSTEM(THIS.PICTURE)) = "UP" SET ORDER TO TAG nome_coluna DESCENDING CASE UPPER(JUSTSTEM(THIS.PICTURE)) = "DOWN" SET ORDER TO TAG nome_coluna ASCENDING ENDCASE THIS.PARENT.PARENT.REFRESH GOTO nrecno EXIT ENDIF ENDIF ENDFOR ENDIF ENDPROC ENDDEFINEEspero que ajude...