FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Large font
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Large font
Posted: Tue Mar 11, 2008 04: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
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
Large font
Posted: Tue Mar 11, 2008 05: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
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Large font
Posted: Tue Mar 11, 2008 05: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
Posts: 383
Joined: Tue Oct 11, 2005 01:01 PM
Large font
Posted: Wed Mar 12, 2008 01:00 PM
Prova questa funzione:

#define LOGPIXELSX         88

function DimFont()

   local hDC, nPixelX

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

   DeleteDC( hDC )

//   msginfo( nPixelX )

return nPixelX
Pedro Gonzalez
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Large font
Posted: 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
Posts: 7317
Joined: Thu Oct 18, 2012 07:17 PM
Re:
Posted: Tue Feb 18, 2025 01:42 PM
pymsoft wrote: Prova questa funzione:
#define LOGPIXELSX         88

function DimFont()

   local hDC, nPixelX

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

   DeleteDC( hDC )

//   msginfo( nPixelX )

return nPixelX
scusa come potrei settare la grandezza dei font a seconda dello schermo

esempio

oFont := TFont():New( "TAHOMA", 0, 16,, )
oBold := TFont():New( "TAHOMA", 0, 14,,.t. )
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)

I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com

Continue the discussion