Calcular los Pixel que ocupa un caracter

167 views
Skip to first unread message

HENRY HERRERA

unread,
Apr 17, 2020, 9:37:50 PM4/17/20
to harbourm...@googlegroups.com
Buenas noches colegas,
como bien lo dice el titulo, tengo un problema, pues no se como calcular los pixeles que ocupa un caracter, en una impresion.

El punto es que si tengo por ejemplo un ancho de 300 pixeles para una columna, me gustaria saber cuantos caracteres me entrarian si por ejemplo estoy usando la letra Times New Roman y un tamaño de 12 

Basicamente es para generar un archivo PDF que sale de una TBrowse que puede tener distintas columnas y de anchos variados.  

Pienso, que quizas podria servirme mas adelante para generar un archivo de impresion en papel.

Cualquier ayuda que me puedan brindar se los agradecere.

Henry Herrera

 

HENRY HERRERA

unread,
Apr 18, 2020, 2:11:14 PM4/18/20
to harbourm...@googlegroups.com
He localizado estas funciones, lo malo es que aunque cambie el tipo de letra siempre me da el mismo tipo de font, la idea ahora es que se pueda setear la letra predeterminada para que GetTextWidth devuelva el valor correcto, pero no logro hacerlo??

cFontName:= "Times New Roman"
cFontSize:= 12

_HMG_ActiveFontName        := CFontName
_HMG_ActiveFontSize        := 12
_HMG_DefaultFontName:=  CFontName
_HMG_DefaultFontSize:=  12

 MSGBOX(GetDefaultFontSize())
 MSGBOX(GetDefaultFontName())

hWnd := This.Handle
hDC := GetDC( hWnd )
nChrHeight := GetTextWidth( hDC, "Ñ", hDlgFont ) 
Reply all
Reply to author
Forward
0 new messages