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