Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Tamaño de Fuentes para Impresora en Api de Windows

Estas en el tema de Tamaño de Fuentes para Impresora en Api de Windows en el foro de C/C++ en Foros del Web. Hola a todos! Tengo dudas acerca de como dimensionar las fuentes y el texto por ende de lo que deseo imprimir dependiendo del tamaño del ...
  #1 (permalink)  
Antiguo 07/06/2009, 10:37
 
Fecha de Ingreso: enero-2009
Mensajes: 4
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Tamaño de Fuentes para Impresora en Api de Windows

Hola a todos!

Tengo dudas acerca de como dimensionar las fuentes y el texto por ende de lo que deseo imprimir dependiendo del tamaño del papel, lo estoy haciendo en lenguaje C y Api de Windows Win32, buscando en foros encontre la utilidad de esta funcion

GetDeviceCaps

pero esa funcion devuelve las dimensiones del area de trabajo, en este caso las dimensiones del papel, pero como hago para dimensionar las fuentes? en mi caso estoy usando TextOut, para ubicar el texto donde quiera y CreateFont para cargar la fuente que quiero imprimir, pero en el primer parametro de esa funcion debo especificar el tamaño, pero como lo hago con respecto al tamaño del papel si GetDeviceCaps solo devuelve dimensiones de area de trabajo?
espero no haber enredado mucho la idea XD
gracias de antemano
  #2 (permalink)  
Antiguo 26/06/2012, 16:52
Avatar de walote  
Fecha de Ingreso: junio-2012
Ubicación: Argentina
Mensajes: 5
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Tamaño de Fuentes para Impresora en Api de Windows

La declaración de la funcion:

CDC* CFunciones::OnTipoLetra(CDC* pDC, CString Tipo, int Height, int Weight)
{
LOGFONT lf;
CFont fuente;
CFont *pFuenteAnterior = NULL;

memset( &lf, 0, sizeof(LOGFONT) );
lf.lfHeight = Height;
lf.lfWeight = Weight;
strcpy(lf.lfFaceName, Tipo);

if( fuente.CreateFontIndirect( &lf ) )
pFuenteAnterior = pDC->SelectObject( &fuente );

return pDC;
}

La implementación:

CDC* pDC;

pDC = OnTipoLetra(pDC, "Arial", 20, 90); //20 = tamaño - 90 = espesor

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:52.