Como Capturar el tipo de letra del sistema

Como Capturar el tipo de letra del sistema

Postby colthop » Wed Apr 15, 2015 7:01 am

Hola a todos:

Me gustaría saber si existe otro método para poder saber la letra que usa Windows, ya que usando GetSysFont() me devuelve "Ms Sans Serif" cuando yo no tengo ese tipo sino "SEGOE UI".

Un saludo

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Sun Aug 02, 2015 8:54 am

User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Como Capturar el tipo de letra del sistema

Postby colthop » Sun Aug 02, 2015 9:11 am

Hola José Luis:

Gracias por tu interés, ya vi eso y trate de aplicarlo pero no supe y lo solucioné de otra manera.

Un saludo y de nuevo gracias por tu interés.

Carlos
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
colthop
 
Posts: 505
Joined: Sat Apr 22, 2006 9:09 am
Location: Madrid - España

Re: Como Capturar el tipo de letra del sistema

Postby Antonio Linares » Sun Aug 02, 2015 6:59 pm

Carlos,

Usando GetStockObject() puedes obtener los siguientes valores:

https://msdn.microsoft.com/en-us/library/windows/desktop/dd144925(v=vs.85).aspx

Revisa desde ANSI_FIXED_FONT a SYSTEM_FIXED_FONT

Puedes usarlo asi:

#define OEM_FIXED_FONT 10
#define ANSI_FIXED_FONT 11
#define ANSI_VAR_FONT 12
#define SYSTEM_FONT 13
#define DEVICE_DEFAULT_FONT 14
#define SYSTEM_FIXED_FONT 16

MsgInfo( GetFontInfo( GetStockObject( SYSTEM_FONT ) )[ 4 ] )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Tue Aug 04, 2015 3:09 pm

Antonio,
voy a intentar probar lo que dices, el sistema que yo uso me ha funcionado bien con tamaño de fuentes personalizado ... hasta Windows 10. Este fin de semana instalé Windows 10 y las fuente de los programas aparecen borrosas. No es cosa de mis programas unicamente, varios de los programas que uso como HippoEdit, UltraFileSearch lite y Flux hacen lo mismo, muestran la fuente borrosa. No se si tendrá que ver algo que son programas de 32bits.

Me gustaría saber si con programas de 64 bits poniendo el tamaño de texto personalizado en Windows 10 a por ejemplo 120% las fuentes se ven correctamente.

Saludos,
José Luis
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Como Capturar el tipo de letra del sistema

Postby cnavarro » Tue Aug 04, 2015 4:23 pm

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6541
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Como Capturar el tipo de letra del sistema

Postby Antonio Linares » Tue Aug 04, 2015 4:23 pm

Jose Luís,

Si me envias un PRG, lo construyo con FWH 64 y te envío el EXE

gracias!
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Thu Aug 06, 2015 2:53 pm

Carlos, con esto lo que hago es anular la configuración de fuentes para el programa. Funciona ya que el programa se ve bien, pero no es lo que quiero.

Antonio, puedo mandarte los fuentes de Colossus para que los recompiles con FWH 64. Los fuentes del programa están en https://github.com/JoseluisSanchez/colossus pero usa unas librerias de CanalFive que creo que no habrá problema en que te mande. Voy a intentar que todo sean .PRG para que puedas recompilarlo sin problemas y te aviso.

Saludos,
Josñe Luis
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Como Capturar el tipo de letra del sistema

Postby Antonio Linares » Thu Aug 06, 2015 3:14 pm

José Luis,

ok, aguardo tus noticias :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Mon Aug 10, 2015 2:15 pm

Antonio,
Ya tengo el programa sin referencias a librerias externas, todo lo tengo en PRG. Donde te lo mando para que lo recompiles, o envíame tu un correo con tu dirección a joseluis@alanit.com

Saludos,
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Como Capturar el tipo de letra del sistema

Postby Antonio Linares » Mon Aug 10, 2015 2:26 pm

José Luis,

Directamente a alinares@fivetechsoft.com

gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42076
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Como Capturar el tipo de letra del sistema

Postby Alberto Mosquera » Thu Aug 20, 2015 3:17 am

Hola. Yo para obtener la fuente del sistema uso lo siguiente:

aInfo := GetFontInfo( GetFontMenu() )
nFontHeight := aInfo[1]
nFontWidth := aInfo[2]
cFontName := aInfo[4]

( la funcion GetFontMenu() esta en c5h.lib )
Alberto Mosquera
 
Posts: 2
Joined: Thu Aug 06, 2015 11:33 pm
Location: Argentina

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Thu Apr 28, 2016 2:23 pm

Hola a todos,
He probado a incluir la cláusula DS_SHELLFONT en los diálogos dentro editor de recursos en vez de DS_SETFONT y he comprobado que con esta cláusula sí que se escala correctamente los diálogos wn Windws 10 en el caso de tener un escalado de fuentes personalizado. Os dejo una imagen de dos de mis programas, a la izquierda usando la cláusula DS_SHELLFONT y a la derecha usando DS_SETFONT. El escalado que uso es el 120%.

Image

No llego a entender por qué el vtaskbar tambien se escala ¿? puesto que ahí no he tocado nada.

Saludos,
José Luis
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España

Re: Como Capturar el tipo de letra del sistema

Postby José Luis Sánchez » Thu Apr 28, 2016 2:29 pm

Image

Ahora se ve mejor.
User avatar
José Luis Sánchez
 
Posts: 556
Joined: Thu Oct 13, 2005 9:23 am
Location: Novelda - Alicante - España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], Julio Cepeda and 86 guests