i found GRID.ChangeFontSize and now i can "dynamic" set FONT Size when re-size
there is also LISTVIEW_SETCOLUMNWIDTH() so when maximize GRID i also can change Wide of each Column.
btw. when Click on Line between GRID Header Item it will automatic "optimize" Column wide
---
have play with
Code: Select all
GRID &cGrid ;
PARENT &cForm ;
FONT "Arial" SIZE 11 ;
FUNCTION DoReSize(cForm,cGrid)
nZoom := NewHeight/OriginalHeight
Setproperty( cForm , cGrid, "ChangeFontSize",ROUND(nZoom*11,0))
as my Monitor is 1920 x 1200 i just have nZoom := 1,171875 so it is not much Differenz.
when use nZoom*11 = 12,890625 i got to 13 so Sign in Full-Screen is bigger
---
to Set wide of Columne i found this Way
Code: Select all
hGrid := GetControlHandle( cGrid, cForm)
aCol := ACLONE( SP_aColLeft() ) // have save Original Column wide at create in Array
jMax := LEN(aCol)
j := 1
FOR j := 1 TO jMax
nWide := aCol[j]*nZoom
LISTVIEW_SETCOLUMNWIDTH(hGrid, j-1, nWide )
NEXTCode: Select all
hGrid := GetControlHandle( cGrid, cForm)
jMax := LEN(aStruc) // DBSTRUCT()
j := 1
FOR j := 1 TO jMax
cType := aStruc[ j ] [ DBS_TYPE ]
DO CASE
CASE cType = "D"
nWide := 80 * nZoom
CASE cType = "L"
nWide := 30 * nZoom
OTHERWISE
nWide := aStruc[ j ] [ DBS_LEN ] * 11 * nZoom
ENDCASE
LISTVIEW_SETCOLUMNWIDTH(hGrid, j-1, nWide )
NEXTCode: Select all
FONT "Arial" SIZE 11what do you think about that Concept