Here is finished less colours and so on.
This works so great I had to share with you.
I used 3.44/samples/controls/grid_38 for testing. Just add ONHEADCLICK and Private variable and function ChGrid
Code: Select all
Function
PRIVATE GrChg := .F.
DEFINE WINDOW Form_1 ;
DEFINE GRID Grid_1
ONHEADCLICK { { || NIL },;
{|| IF(GrChg = .F. ,; CHGRID('GRID_1','FORM_1',6,80,350,80,80,80,80),CHGRID('GRID_1','FORM_1',6,140,140,140,100,100,100))},;
{|| IF(GrChg = .F. , CHGRID('GRID_1','FORM_1',6,80,80,350,80,80,80), CHGRID('GRID_1','FORM_1',6,140,140,140,100,100,100))},;
{|| IF(GrChg = .F. , CHGRID('GRID_1','FORM_1',6,80,80,80,350,80,80), CHGRID('GRID_1','FORM_1',6,140,140,140,100,100,100))},;
{|| IF(GrChg = .F. , CHGRID('GRID_1','FORM_1',6,80,80,80,80,350,80), CHGRID('GRID_1','FORM_1',6,140,140,140,100,100,100))},;
{|| IF(GrChg = .F. , CHGRID('GRID_1','FORM_1',6,80,80,80,80,80,350), CHGRID('GRID_1','FORM_1',6,140,140,140,100,100,100))}}
END GRID
END WINDOW
ACTIVATE WINDOW Form_1
Function ChGrid
local hgrid := '', jmax:=0, j1:=1, nwidth := 0, wi := ''
parameters Gr,Fo,col,wi1,wi2,wi3,wi4,wi5,wi6
jmax := col
hGrid := GetControlHandle(Gr, Fo )
for j1:= 1 to jmax
wi := 'wi'+alltrim(str(j1))
nwidth := &wi
LISTVIEW_SETCOLUMNWIDTH(hgrid,j1-1,nwidth)
next
if GrChg = .F.
GrChg := .T.
else
GrChg := .F.
endif
return