• Viernes 19 de Abril de 2024, 06:05

Autor Tema:  Problemas Con Tamaño De Fuente  (Leído 1176 veces)

xavimad

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problemas Con Tamaño De Fuente
« en: Viernes 23 de Julio de 2004, 12:00 »
0
Buenas!!
Tengo un problemilla.
He hecho un programita a 800x600, porque principalmente se va a utilizar en TPV's.
El problema lo tengo cuando se muestran los fomularios en un ordenador en el que se tiene, en la configuracion del xp, el tamaño de fuente a 120, en lugar de normal, que me parece que es 96.
Dentro de los formularios llegan incluso a descuadrarse imagenes y fondos de pantalla.
¿Alguien sabría decirme como controlar el hecho de que no se descuadren los objetos del formulario?

Gracias.
 :lightsabre:

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Problemas Con Tamaño De Fuente
« Respuesta #1 en: Martes 22 de Abril de 2008, 20:22 »
0
A mi pasaba algo parecido...

al tener la resolución a 1600 * 1200 el texto me aparecía muy pequeño entonces loaumené a 120 también, el caso esque al diseñar los formularios se veían bien, luego al llevarlo al ordenador de otra persona cuyo tamaño de fuente lo tenía en el estilo por defecto los textos se desajustaban.

La solución que yo encontré fue acceder a las propiedades del sistema (desde la API) al arrancar el programa y ver que tamaño tenía por fecto, y en función deso escalar todos los objetos que contienen texto.... yo programo en VB pero el caso es el mismo...

en pseudocódigo sería algo como
Código: Text
  1. si localsetting.fontsize <> miFontSize luego
  2.     factorE= localsetting.fontsize / miFontSize
  3.      por cada control con la propiedad texto en el formulario luego
  4.           control.fontsize= control.fontsize * factorE
  5.      siguiente
  6. fin si
  7.  
«Ma non troppo»
----> ModoVacaciones = False<----

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Problemas Con Tamaño De Fuente
« Respuesta #2 en: Miércoles 23 de Abril de 2008, 11:33 »
0
Nota aclaratoria: al decir localsettings.fontsize en realidad estaba asignando a una estructura parcial datos tomados de la API getDeviceCaps con el parámetro 88 que es el correspondiente a los 'puntos por pulgada horizontales' (para no hacer engorroso el seguimiento omití la estructura, y el uso y declaración de la API, pero olvidé cambiar luego el 'palabro').

Y por 'factorE' sería una constante que coincidiría justo con el mismo dato cuando fue programado, entonces se entenderá mejor así:

si la fuente usada por el usuario es de 120 y la que se usó en diseño era de 96 el factor de escala será 120/96 =1'25, normalmente a ambos tipos se les suele llamar 'large fonts' y 'small fonts' aunque como sabes twindows permite puntos intermedios.
«Ma non troppo»
----> ModoVacaciones = False<----