Udostępnij za pośrednictwem


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

Zobacz też

Informacje

Klasa CFont

Wykres hierarchii

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT