CFont::CreateFont
Başlatan bir CFont nesne belirtilen özelliklere sahip.
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
);
Parametreler
nHeight
İstenilen yükseklik (mantıksal birimler) yazı tipi belirler.Bkz: lfHeight üyesi logfont, yapı Windows SDK için bir açıklama.Mutlak değeri nHeight onu dönüştürüldükten sonra 16.384 aygıt birimleri aşmamalıdır.Tüm yazı tiplerini istenen boyutunu aşarsa tüm yükseklik karşılaştırmalar için yazı tipi Eşleştiricisi istenen boyuta geçmediği en büyük yazı tipini veya en küçük yazı tipi için arar.nWidth
Ortalama genişliği (mantıksal birimler) karakter yazı tipini belirtir.nWidth 0 Olduğundan, aygıt boyut oranını digitization boy farkının mutlak değeri tarafından belirlenen en yakın eşleşmeyi bulmak için kullanılabilir yazı tipi karşı eşleşti.nEscapement
(0,1 Derece birimlerindeki) escapement vektör ve görüntü yüzeyinin x ekseni arasındaki açıyı belirtir.Escapement vektör kaynakları belli bir satırdaki ilk ve son karakterler aracılığıyla çizgidir.Açı ekseninden saatin ölçülür.Bkz: lfEscapement üyesi LOGFONT , yapı Windows SDK daha fazla bilgi için.nOrientation
(0,1 Derece birimlerindeki) temel karakter ve x ekseni arasındaki açıyı belirtir.Açı y yönünde aşağı ve y yönünde çalışır durumda koordinat sistemleri x ekseninden saat yönünde koordinat sistemleri x ekseninden saatin ölçülür.nWeight
Yazı tipi genişliği (inked piksel cinsinden başına 1000) belirtir.Bkz: lfWeight üyesi LOGFONT , yapı Windows SDK daha fazla bilgi için.Açıklanan yaklaşık değerlerdir; gerçek görünümü üzerinde yazı bağlıdır.Bazı yazı tipleri yalnızca sahip FW_NORMAL, FW_REGULAR, ve FW_BOLD olmamasıdır.FW_DONTCARE Belirtildiğinde, varsayılan Ağırlık kullanılır.bItalic
İtalik yazı tipi olup olmadığını belirtir.bUnderline
Yazı tipinin altı çizili olup olmadığını belirtir.cStrikeOut
Fonttaki karakterleri üstü olup olmadığını belirtir.Üstü çizili yazı tipi, belirtir sıfır dışında bir değere ayarlayın.nCharSet
Yazı tipinin karakter setSee belirtir lfCharSet üyesi LOGFONT , yapı Windows SDK değerler listesi.oem karakter kümesi sistem bağımlıdır.
Diğer karakter kümesi içeren yazı tipleri sisteminde bulunabilir.Bilinmeyen karakter kümesiyle bir yazı tipini kullanan bir uygulama çevirmek ya da o yazı tipiyle işlenecek olan dizeleri yorumlamak denememeniz gerekir.Bunun yerine, dizeleri doğrudan çıktı aygıtı sürücüsü geçirilmelidir.
Yazı tipi Eşleştiricisi tarafından kullanılmayan DEFAULT_CHARSET değeri.Uygulama adı ve mantıksal yazı tipi tam olarak açıklamak için bir yazı tipi boyutunu izin vermek için bu değeri kullanın.Belirtilen ada sahip bir yazı tipi yoksa, herhangi bir karakter kümesinden bir yazı tipi yerine belirtilen yazı tipi için.Uygulamalar beklenmedik sonuçlardan kaçınmak için kullanması gereken DEFAULT_CHARSET tutumlu değer.
nOutPrecision
İstenen çıktıyı duyarlılığı belirtir.İstenen yazı tipinin yükseklik, Genişlik, karakter yönlendirmesini, escapement ve ses perdesi çıktı ne kadar yakın eşleşmesi gerekir çıktı precision tanımlar.Bkz: lfOutPrecision üyesi LOGFONT , yapı Windows SDK bir değerler listesi ve daha fazla bilgi için.nClipPrecision
İstenilen kırpma duyarlılığı belirtir.Kırpma duyarlılık, kısmen kırpma bölgesi karakterler küçük nasıl tanımlar.Bkz: lfClipPrecision üyesi LOGFONT , yapı Windows SDK değerler listesi.Katıştırılmış salt okunur font kullanmak için bir uygulama belirtmelisiniz CLIP_ENCAPSULATE.
Aygıt, TrueType ve vektör yazı tipini tutarlı dönüş elde etmek için bir uygulama veya işleci birleştirmek için kullanabilirsiniz CLIP_LH_ANGLES diğer herhangi bir değerle nClipPrecision değerler.CLIP_LH_ANGLES Biti ayarlanmışsa, tüm yazı tipleri için dönüş olup koordinat sistemi yönünü solak bağlıdır ya da sağ elini kullanan.(Açıklamasını yönlendirmesini koordinat sistemleri hakkında daha fazla bilgi için bkz: nOrientation parametresi.) CLIP_LH_ANGLES Olan ayarlanmamış, aygıt fontlarını her zaman döndürmek saat yönünün tersine, ancak diğer yazı tiplerini dönüşü koordinat sistemi yönü üzerinde bağlıdır.
nQuality
Yazı tipinin nasıl dikkatle GDI mantıksal yazı tipi öznitelikleri olanlar gerçek fiziksel yazı tipi eşleştirme girişimi gerekir tanımlar çıktı kalitesini belirtir.Bkz: lfQuality üyesi LOGFONT , yapı Windows SDK değerler listesi.nPitchAndFamily
Perde ve yazı tipi ailesi belirtir.Bkz: lfPitchAndFamily üyesi LOGFONT , yapı Windows SDK bir değerler listesi ve daha fazla bilgi için.lpszFacename
A CString ya da yazı tipini yazı tipi adını belirtir bir boşlukla sonlandırılmış dize işaretçisi.Bu dizenin uzunluğu 30 karakterden uzun olmamalıdır.Windows EnumFontFamilies işlevi, şu anda kullanılabilir tüm yazı tipleri numaralandırmak için kullanılabilir.lpszFacename Olan NULL, aygıttan bağımsız yazı GDI kullanır.
Dönüş Değeri
Başarılı olursa sıfırdan farklı; Aksi halde 0.
Notlar
Yazı tipi, yazı tipi için herhangi bir aygıt içeriğini olarak sonradan seçilebilir.
CreateFont İşlevi, yeni bir Windows GDI yazı tipi oluşturmaz.Yalnızca en yakın fiziksel fontları kullanılabilir GDI seçilir.
Uygulamaları mantıksal bir yazı tipi oluştururken, çoğu parametreleri için varsayılan ayarları kullanabilirsiniz.Belirli değerleri verilen her zaman parametreleri nHeight ve lpszFacename.nHeight Ve lpszFacename ayarlı değil uygulama tarafından oluşturulan mantıksal yazı tipi, aygıta bağımlıdır.
Tamamladığınızda ile CFont tarafından oluşturulan nesne CreateFont işlev, kullanmak CDC::SelectObject aygıt içeriği farklı bir yazı tipi seçmek için delete CFont artık gerekli olmadığından nesne.
Örnek
// 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();
Gereksinimler
Başlık: afxwin.h