Sdílet prostřednictvím


CFont::CreateFont

Inicializuje CFont určený vlastností objektu.

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  
);

Parametry

  • nHeight
    Určuje požadovanou výšku písma (v logické jednotky).Najdete lfHeight člena LOGFONTstruktury v popis.Absolutní hodnota nHeight nesmí překročit 16 384 jednotky zařízení po jeho převedení.Všechny výšky porovnávání mapování písma hledá největšího nepřesahuje požadovanou velikost písma nebo písma nejmenší Pokud překročit všechna písma na požadovanou velikost.

  • nWidth
    Určuje průměrná šířka (v logické jednotky) znaky v písmu.Pokud nWidth je 0, poměr stran zařízení budou porovnány s digitization poměr stran dostupných písem najít nejbližší, které je určeno absolutní hodnota rozdílu.

  • nEscapement
    Určuje úhel mezi escapement vektoru a povrchu zobrazení osy x (v jednotkách stupně 0,1).Escapement vektor je čáru přes počátky první a poslední znak v řádku.Úhel měří proti směru hodinových ručiček od osy x.Viz lfEscapement člena LOGFONT struktury v Další informace.

  • nOrientation
    Určuje úhel mezi základní znak a na ose x (v jednotkách stupně 0,1).Úhel měří proti směru hodinových ručiček od osy x souřadnice systémy, ve kterých je směru y ve směru hodinových ručiček od osy x souřadnice systémy, ve kterých je směru y nahoru a dolů.

  • nWeight
    Určuje tloušťku písma (v pixelech inked za 1000).Viz lfWeight člena LOGFONT struktury v Další informace.Uvedené hodnoty jsou pouze přibližné; skutečný vzhled závisí na řezu písma.Některá písma mají pouze FW_NORMAL , FW_REGULAR , a FW_BOLD závaží.Pokud FW_DONTCARE je určen, je použit výchozí hmotnosti.

  • bItalic
    Určuje, zda je písmo kurzíva.

  • bUnderline
    Určuje, zda je písmo podtržené.

  • cStrikeOut
    Určuje, zda jsou znaky v písmu proškrtnuty.Určuje písmo přeškrtnuté Pokud nastavena na nenulovou hodnotu.

  • nCharSet
    Určuje setSee znak písma lfCharSet člena LOGFONT struktury v seznam hodnot.

    Znaková sada OEM je závislé na systému.

    Jiné znakové sady písma může existovat v systému.Aplikace, která používá písmo s sadou Neznámý znak nesmí pokusí přeložit nebo interpretovat řetězce, které mají být vykreslen pomocí tohoto písma.Místo toho by měly být řetězce předány přímo výstupní ovladač zařízení.

    Mapování písma nepoužívá DEFAULT_CHARSET hodnotu.Aplikace může tuto hodnotu použít název a velikost písma plně popsat logická písma.Pokud písmo se zadaným názvem neexistuje, mohou nahradit písmo všechny znakové sady určené písmo.Aby nedocházelo k neočekávaným výsledkům, používejte aplikace DEFAULT_CHARSET hodnota střídmě.

  • nOutPrecision
    Určuje přesnost požadovaný výstup.Přesnost výstupu definuje, jak přesně musí odpovídat výstupu, výška, šířka, znak orientace, escapement a rozteč požadované písmo.Viz lfOutPrecision člena LOGFONT struktury v seznam hodnot a další informace.

  • nClipPrecision
    Určuje ořezovou požadovanou přesnost.Ořezové přesnost určuje, jak se znaky, které jsou částečně mimo oblast oříznutí klipu.Viz lfClipPrecision člena LOGFONT struktury v seznam hodnot.

    Použít vložené písmo jen pro čtení, musíte zadat aplikaci CLIP_ENCAPSULATE .

    K dosažení konzistentní otáčení zařízení, TrueType a vektorových písem, může aplikace použít operátoru OR zkombinovat CLIP_LH_ANGLES hodnotu všechny ostatní nClipPrecision hodnoty.Pokud CLIP_LH_ANGLES je nastaven bit, otáčení všech písem závisí zda orientace souřadnicový systém je levák nebo pravák.(Další informace o orientaci systémy viz popis nOrientation parametr.) Pokud CLIP_LH_ANGLES je nastavena není, písma zařízení vždy Otočit proti směru hodinových ručiček, ale je závislá na orientaci souřadnicovém systému rotace jiná písma.

  • nQuality
    Určuje kvalitu výstupu písma, která definuje, jak pečlivě musí odpovídající atributy logické písma na ty skutečné fyzické písma se rozhraní GDI.Viz lfQuality člena LOGFONT struktury v seznam hodnot.

  • nPitchAndFamily
    Určuje výšku a rodinu písma.Viz lfPitchAndFamily člena LOGFONT struktury v seznam hodnot a další informace.

  • lpszFacename
    A CString nebo ukazatel na řetězec zakončený hodnotou null určující název řez písma.Délka tohoto řetězce nesmí překročit 30 znaků.Windows EnumFontFamilies lze použít funkci vytvořit výčet všech aktuálně dostupných písem.Pokud lpszFacename je NULL , GDI používá písma nezávislá na zařízení.

Vrácená hodnota

Nenulová hodnota, pokud je úspěšná. jinak 0.

Poznámky

Písmo může být následně vybrána jako písmo pro všechny kontext zařízení.

CreateFont Funkce nevytváří nové písmo GDI systému Windows.Pouze vybraných nejbližší z fyzické písma k dispozici na GDI.

Aplikace lze použít výchozí nastavení pro většinu parametrů při vytváření logických písma.Parametry, které by měly být vždy uvedeny určité hodnoty jsou nHeight a lpszFacename .Pokud nHeight a lpszFacename nejsou nastavena aplikací, logické písmo, které je vytvořen je závislý na zařízení.

Po dokončení se CFont objekt vytvořený CreateFont funkce, použijte CDC::SelectObject do kontextu zařízení vyberte jiné písmo, odstraňte CFont objekt, který již není potřeba.

Příklad

// 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(); 

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CFont

Graf hierarchie

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT