Large font

Moderator: Enrico Maria Giordano

Large font

Postby Marco Turco » Tue Mar 11, 2008 4:43 pm

Salve,
sto lavorando con gli splitter ed ho un problema nel resize in presenza di large font (font di dimensioni maggiori dei classici 96dpi).

Esiste una funzione per sapere se il font di default di Windows è un LargeFont e le dimensioni in dpi ?

Grazie.
Best Regards,

Marco Turco
SOFTWARE XP LLP
User avatar
Marco Turco
 
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London

Postby pymsoft » Tue Mar 11, 2008 5:03 pm

Marco,

LargeFonts()


e per sapere tutti i dati del font per default:

oFont := oMainWnd:oFont


oFont:nInpHeight
oFont:nInpWidth
oFont:nWeight
..
..
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby Marco Turco » Tue Mar 11, 2008 5:20 pm

Grazie.

Però non mi sembra ci sia un sistema per sapere la dimensione in DPI del font, posso solo sapere la dimensione in pixel.

Dato che i font standard sono a 96DPI volevo in presenza di LargeFonts sapere la dimensione del font (in genere è comunque 120DPI) per quindi rapportare in modo corretto le videate.

Al momento bypasso il problema rapportando a 120 in caso di largefonts ma se il cliente si è divertito ad impostare una dimensione intermedia o superiore allora il resize non sarà corretto.

Hai qualche idea per ottenere i DPI ?
Best Regards,

Marco Turco
SOFTWARE XP LLP
User avatar
Marco Turco
 
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London

Postby pymsoft » Wed Mar 12, 2008 1:00 pm

Prova questa funzione:

Code: Select all  Expand view
#define LOGPIXELSX         88

function DimFont()

   local hDC, nPixelX

   hDC     = CreateDC( "DISPLAY", "", "" )
   nPixelX = GetDeviceCaps( hDC, LOGPIXELSX )

   DeleteDC( hDC )

//   msginfo( nPixelX )

return nPixelX
Pedro Gonzalez
User avatar
pymsoft
 
Posts: 383
Joined: Tue Oct 11, 2005 1:01 pm
Location: Savona - Italia

Postby Marco Turco » Thu Mar 20, 2008 11:44 am

Funziona. Grazie.

Ho riscontrato che la funzione LargeFonts() di fivewin rileva solo largefont "standard" ossia di dimensione 120% dell'originale, ma non è un problema visto che con la tua funzione posso ricavare la dimensione effettiva.
Best Regards,

Marco Turco
SOFTWARE XP LLP
User avatar
Marco Turco
 
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London


Return to All products support

Who is online

Users browsing this forum: No registered users and 3 guests