CFont::CreateFont
Inicjuje CFont obiekt z określonymi cechami.
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
Określa żądaną wysokość (w jednostkach logicznych) czcionki.Zobacz lfHeight członek LOGFONTstruktury w Windows SDK opis.Wartość bezwzględna nHeight nie może przekraczać 16 384 jednostek urządzenia po konwersji.Dla wszystkich porównań wysokość mapowania czcionek szuka przekracza żądany rozmiar czcionki lub najmniejszy Jeśli wszystkie czcionki przekracza żądanego rozmiaru.nWidth
Określa czcionkę średnia szerokość znaków (w jednostkach logicznych).Jeśli nWidth jest 0, proporcje urządzenia będą dopasowywane w proporcji już dostępnych czcionek, aby znaleźć najlepsze dopasowanie, który jest określony przez wartość bezwzględna różnicy.nEscapement
Określa kąt (w jednostkach 0,1 stopnia) między vector system powracania i osi powierzchni ekranu.Wektor system powracania jest linia poprzez początki pierwszych i ostatnich znaków na wiersz.Kąt jest mierzony przeciwnie od osi x.Zobacz lfEscapement Członkowskich w LOGFONT struktury w Windows SDK Aby uzyskać więcej informacji.nOrientation
Określa (w jednostkach 0,1 stopnia) kąt między linią bazową znaku osi x.Kąt jest mierzony przeciwnie z osi współrzędnych systemów, które kierunku y jest zegara od osi x dla systemów współrzędnych, w których kierunku y jest w górę i w dół.nWeight
Określa grubość czcionki (w pikselach inked na 1000).Zobacz lfWeight Członkowskich w LOGFONT struktury w Windows SDK Aby uzyskać więcej informacji.Opisano wartości są przybliżone; rzeczywisty wygląd zależy od kroju pisma.Niektóre czcionki mają tylko FW_NORMAL, FW_REGULAR, i FW_BOLD wagi.Jeśli FW_DONTCARE jest określony, jest używana domyślna grubość.bItalic
Określa, czy czcionka jest kursywą.bUnderline
Określa, czy czcionka jest podkreślona.cStrikeOut
Określa, czy znaki czcionki są wykreślone.Określa czcionkę przekreślenie, jeśli ustawiona na wartość różną od zera.nCharSet
Określa czcionkę znaku setSee lfCharSet Członkowskich w LOGFONT struktury w Windows SDK do listy wartości.Zestaw znaków OEM jest zależny od systemu.
Czcionki z innymi zestawami znaków mogą istnieć w systemie.Aplikacja, która używa czcionki z zestawem znaków nieznany musi nie próbować tłumaczenia lub interpretować ciągów, które mają być renderowane z danej czcionki.Zamiast tego ciągi powinny zostać przekazywane bezpośrednio do sterownika urządzenia wyjściowego.
Mapowania czcionek nie korzysta z DEFAULT_CHARSET wartości.Aplikacja może używać tej wartości pozwalające na nazwę i rozmiar czcionki w pełni logiczne czcionki.Jeśli czcionka o podanej nazwie nie istnieje, można zastąpić czcionki z dowolnego zestawu znaków określonej czcionki.Aby uniknąć nieoczekiwanych wyników, należy użyć aplikacji DEFAULT_CHARSET wartość oszczędnie.
nOutPrecision
Określa dokładność żądane dane wyjściowe.Dokładność danych wyjściowych definiuje, jak dane wyjściowe muszą pasować wysokość, szerokość, orientację znaków, system powracania i gęstość żądanej czcionki.Zobacz lfOutPrecision Członkowskich w LOGFONT struktury w Windows SDK dla listy wartości i uzyskać więcej informacji.nClipPrecision
Określa dokładność pożądanych przycinania.Precision odcinania definiuje sposób znaki, które są częściowo poza obszar przycinania klipu.Zobacz lfClipPrecision Członkowskich w LOGFONT struktury w Windows SDK do listy wartości.Aby użyć czcionki osadzonej tylko do odczytu, należy określić aplikację CLIP_ENCAPSULATE.
Aby osiągnąć spójne obrotu urządzenia, TrueType i czcionki wektorowe, aplikacji można użyć operatora lub połączyć CLIP_LH_ANGLES wartości wszystkich innych nClipPrecision wartości.Jeśli CLIP_LH_ANGLES bit jest ustawiony, obrót wszystkich czcionek zależy od tego, czy dla leworęcznych jest Orientacja układu współrzędnych lub dla praworęcznych.(Więcej informacji o orientacji systemy współrzędnych, zobacz opis nOrientation parametr.) Jeśli CLIP_LH_ANGLES jest nie jest ustawiona, czcionki urządzenia zawsze obrócić przeciwnie, ale obrót innych czcionek zależy od orientacji układu współrzędnych.
nQuality
Określa jakości wyjścia czcionki, które definiuje, jak dokładnie interfejs GDI musi próbować dopasować atrybuty czcionki logicznych do tych rzeczywistą czcionką fizycznej.Zobacz lfQuality Członkowskich w LOGFONT struktury w Windows SDK do listy wartości.nPitchAndFamily
Określa wysokość tonu i rodziny czcionki.Zobacz lfPitchAndFamily Członkowskich w LOGFONT struktury w Windows SDK dla listy wartości i uzyskać więcej informacji.lpszFacename
A CString lub wskaźnik ciąg zakończony zerem, określający nazwę kroju czcionki.Długość tego ciągu nie może przekraczać 30 znaków.Windows EnumFontFamilies funkcji można wyliczyć wszystkie aktualnie dostępnych czcionek.Jeśli lpszFacename jest NULL, interfejs GDI używa kroju niezależny od urządzenia.
Wartość zwracana
Niezerowa, jeśli kończy się pomyślnie; 0 inaczej.
Uwagi
Następnie można wybrać czcionkę czcionki dla wszelkich kontekstu urządzenia.
CreateFont Funkcja nie tworzy nowych czcionek GDI systemu Windows.Jedynie wybieranych najbliższa z fizycznej dostępnych czcionek do interfejsu GDI.
Aplikacje mogą używać ustawień domyślnych dla większości parametrów tworząc logiczne czcionki.Parametry, które należy zawsze podać określone wartości są nHeight i lpszFacename.Jeśli nHeight i lpszFacename nie są ustawione przez aplikację, logiczne czcionkę, która jest tworzona jest zależny od urządzenia.
Po zakończeniu z CFont obiekt utworzony przez CreateFont działać, użyj CDC::SelectObject Aby wybrać inną czcionkę do kontekstu urządzenia, Usuń CFont obiekt, który nie jest już potrzebna.
Przykład
// 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();
Wymagania
Nagłówek: afxwin.h