Compartir a través de


CFont::CreateFont

Inicializa un objeto de CFont con las características especificadas.

BOOL CreateFont( 
   int nHeight, 
   int nWidth, 
   int nEscapement, 
   int nOrientation, 
   int nWeight, 
   BYTE bItalic, 
   BYTE bUnderline, 
   BYTE cStrikeOut, 
   BYTE nCharSet, 
   BYTE nOutPrecision, 
   BYTE nClipPrecision, 
   BYTE nQuality, 
   BYTE nPitchAndFamily, 
   LPCTSTR lpszFacename  
);

Parámetros

  • nHeight
    especifica el alto deseado (en unidades lógicas) de la fuente. Vea el miembro de lfHeight de la estructura de LOGFONTen Windows SDK para una descripción. El valor absoluto de nHeight no debe superar 16.384 unidades después de que se haya convertido. Para todas las comparaciones de alto, el asignador de fuente busca la fuente mayor que no supera el tamaño solicitado o la fuente más pequeña si todas las fuentes superan el tamaño solicitado.

  • nWidth
    Especifica el ancho medio (en unidades lógicas) de caracteres de la fuente. Si nWidth es 0, la relación de aspecto del dispositivo se coincidente en la relación de aspecto de la digitalización de fuentes disponibles para buscar la coincidencia más próxima, que viene determinada por el valor absoluto de la diferencia.

  • nEscapement
    Especifica el ángulo (en unidades de 0,1 grados) entre el vector de la escape y el eje X de la superficie de presentación. El vector de la fuga es la línea a través de los orígenes de los primeros y caracteres pasados en una línea. El ángulo se mide a la izquierda del eje X. Vea el miembro de lfEscapement en la estructura de LOGFONT en Windows SDK para obtener más información.

  • nOrientation
    Especifica el ángulo (en unidades de 0,1 grados) entre la línea base de un carácter y el eje X. El ángulo se mide a la izquierda del eje X para los sistemas de coordenadas donde la dirección es siguiente y en el sentido de las agujas del reloj de eje X para los sistemas de coordenadas donde la dirección está hacia arriba.

  • nWeight
    Especifica el grosor de la fuente (en píxeles entintados por 1000). Vea el miembro de lfWeight en la estructura de LOGFONT en Windows SDK para obtener más información. los valores descritos son aproximados; el aspecto real depende del tipo de letra. Algunas fuentes sólo tienen FW_NORMAL, FW_REGULAR, y categorías de FW_BOLD . Si se especifica FW_DONTCARE , se utiliza una proporción predeterminada.

  • bItalic
    Especifica si la fuente está en cursiva.

  • bUnderline
    especifica si subrayan a la fuente.

  • cStrikeOut
    Especifica si los caracteres de la fuente pulso out. Especifica una fuente de tachado si establece en un valor distinto de cero.

  • nCharSet
    Especifica el setSee de caracteres de la fuente el miembro de lfCharSet en la estructura de LOGFONT en Windows SDK para una lista de valores.

    El juego de caracteres OEM es sistema-dependiente.

    las fuentes con otros juegos de caracteres pueden existir en el sistema. Una aplicación que utiliza una fuente con un juego de caracteres desconocido no debe intentar convertir o interpretar cadenas que deben para generarse con esa fuente. En su lugar, las cadenas se deben pasar directamente al controlador del dispositivo de salida.

    El asignador de fuente no utiliza el valor de DEFAULT_CHARSET . Una aplicación puede utilizar este valor para permitir que el nombre y el tamaño de una fuente describen totalmente a la fuente lógica. Si no existe una fuente con el nombre especificado, una fuente de cualquier juego de caracteres puede ser sustituido para la fuente especificada. Para evitar resultados inesperados, las aplicaciones deben utilizar el valor de DEFAULT_CHARSET con moderación.

  • nOutPrecision
    Especifica la precisión deseada de salida. La precisión del resultado define cómo la salida debe coincidir estrechamente el alto de fuente solicitada, el ancho, la orientación del carácter, la escape, y el paso. Vea el miembro de lfOutPrecision en la estructura de LOGFONT en Windows SDK para una lista de valores y más información.

  • nClipPrecision
    especifica la precisión que recorta deseada. La precisión de recorte define cómo recortar caracteres que están parcialmente fuera de la zona de recorte. Vea el miembro de lfClipPrecision en la estructura de LOGFONT en Windows SDK para una lista de valores.

    Para utilizar una fuente de sólo lectura incrustada, una aplicación debe especificar CLIP_ENCAPSULATE.

    Para lograr la rotación coherente de dispositivo, TrueType, fuentes y vectoriales, una aplicación puede utilizar EL operador OR para combinar el valor de CLIP_LH_ANGLES con cualquiera de los otros valores de nClipPrecision . Si se establece el bit de CLIP_LH_ANGLES , el giro para todas las fuentes depende de si la orientación del sistema de coordenadas es zurda o derecha. (Para obtener más información sobre la guía de sistemas de coordenadas, vea la descripción del parámetro de nOrientation .) Si CLIP_LH_ANGLES no está establecida, las fuentes de dispositivo giran siempre a la izquierda, pero la rotación de otras fuentes depende de la guía del sistema de coordenadas.

  • nQuality
    Especifica la calidad de la salida de la fuente, que define cómo GDI debe intentar cuidadosamente coincidir con los atributos de la lógico-fuente a los de una fuente física real. Vea el miembro de lfQuality en la estructura de LOGFONT en Windows SDK para una lista de valores.

  • nPitchAndFamily
    Especifica el paso y la familia de la fuente. Vea el miembro de lfPitchAndFamily en la estructura de LOGFONT en Windows SDK para una lista de valores y más información.

  • lpszFacename
    CString o un puntero a una cadena terminada en null que especifica el nombre de tipo de letra de la fuente. La longitud de esta cadena no debe superar los 30 caracteres. La función de Windows EnumFontFamilies se puede utilizar para enumerar a todas las fuentes disponibles actualmente. Si lpszFacename es NULL, GDI utiliza un tipo de letra independientes del dispositivo.

Valor devuelto

Distinto de cero si correctamente; si no 0.

Comentarios

La fuente puede posteriormente se seleccione como la fuente para cualquier contexto de dispositivo.

La función de CreateFont no crea una fuente de Windows GDI. Selecciona simplemente la coincidencia más próxima de fuentes físicas disponibles a GDI.

Las aplicaciones pueden usar los valores predeterminados para la mayoría de los parámetros al crear una fuente lógica. Los parámetros que deben tener siempre valores concretos son nHeight y lpszFacename. Si nHeight y lpszFacename no son establecidas por la aplicación, la fuente lógica que se crea es dependiente.

Cuando termine con el objeto de CFont creado por la función de CreateFont , utilice CDC::SelectObject para seleccionar una fuente diferente en el contexto de dispositivo, elimine el objeto de CFont que ya no necesita.

Ejemplo

// The code fragment shows how to create a font object, 
// select the font object into a DC (device context) for text 
// drawing, and finally delete the font object. 

// Initializes a CFont object with the specified characteristics. 
CFont font;
VERIFY(font.CreateFont(
   12,                        // nHeight
   0,                         // nWidth
   0,                         // nEscapement
   0,                         // nOrientation
   FW_NORMAL,                 // nWeight
   FALSE,                     // bItalic
   FALSE,                     // bUnderline
   0,                         // cStrikeOut
   ANSI_CHARSET,              // nCharSet
   OUT_DEFAULT_PRECIS,        // nOutPrecision
   CLIP_DEFAULT_PRECIS,       // nClipPrecision
   DEFAULT_QUALITY,           // nQuality
   DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
   _T("Arial")));                 // lpszFacename 

// Do something with the font just created...
CClientDC dc(this);  
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);

// Done with the font.  Delete the font object.
font.DeleteObject(); 

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CFont Class

Gráfico de jerarquías

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT