Ver Mensaje Individual
  #1  
Antiguo 29-06-2013
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Reputación: 20
rolandoj Va por buen camino
Raro resultado al convertir mm a pixels para usar con QuickRepor

Hola a todos,

Tengo una duda acerca de la equivalencia de MM a Pixels con QuickReport.

Para ponerlo en contexto, empiezo diciendo que mi problema básico era poner sobre un panel TLabels que luego deberían convertirse a TQRLabel y ponerlos sobre una banda de quickreport.

Para ello necesito que el panel tenga en pixels el mismo ancho que la banda de QuickReport.

La idea es simple a partir de que mis QuickReports manejan tamaños de hojas de papel en mm, y los bordes también. así que el ancho de banda en mm es el ancho del papel menos el margen izquierdo y menos el margen derecho.

Por tanto, el ancho del panel debería ser simplemente pasar ese ancho en mm a pixels.

Para esto último uso lo siguiente

Código Delphi [-]
Var 
    AnXScale: Double:
    HRes,HSiz: Integer;
 
Begin
       // otras líneas       
       
     HRes := GetDeviceCaps(AHandle,HORZRES);  
     HSiz := GetDeviceCaps(AHandle,HORZSIZE); 
     // Factor de escala
     AnXScale := HRes;
     AnXScale := AnXScale / HSiz;

Sin embargo, cuando se ejecuta el programa, el factor de Escala AnXScale, para mi monitor y configuración de pantalla, da 3.63 mientras que el que QuickReport está aplicando es de 3.77, una diferencia demasiado grande para justificarla con errores de redondeo.

Akguien sabe que puede estar pasando ?. Me falta algo en el cálculo ?

Agradezco cualquier comentario
Responder Con Cita