CFontDialog Sınıfı
Uygulamanıza yazı tipi seçimi iletişim kutusu eklemenizi sağlar.
Sözdizimi
class CFontDialog : public CCommonDialog
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CFontDialog::CFontDialog | Bir CFontDialog nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CFontDialog::D oModal | İletişim kutusunu görüntüler ve kullanıcının seçim yapmasına izin verir. |
CFontDialog::GetCharFormat | Seçili yazı tipinin karakter biçimlendirmesini alır. |
CFontDialog::GetColor | Seçili yazı tipinin rengini döndürür. |
CFontDialog::GetCurrentFont | Seçili durumdaki yazı tipinin özelliklerini bir LOGFONT yapıya atar. |
CFontDialog::GetFaceName | Seçili yazı tipinin yüz adını döndürür. |
CFontDialog::GetSize | Seçili yazı tipinin nokta boyutunu döndürür. |
CFontDialog::GetStyleName | Seçili yazı tipinin stil adını döndürür. |
CFontDialog::GetWeight | Seçili yazı tipinin kalınlığını döndürür. |
CFontDialog::IsBold | Yazı tipinin kalın olup olmadığını belirler. |
CFontDialog::IsItalic | Yazı tipinin italik olup olmadığını belirler. |
CFontDialog::IsStrikeOut | Yazı tipinin üstü çizili olarak görüntülenip görüntülenmeyeceğini belirler. |
CFontDialog::IsUnderline | Yazı tipinin altı çizili olup olmadığını belirler. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CFontDialog::m_cf | Nesneyi özelleştirmek için kullanılan bir CFontDialog yapı. |
Açıklamalar
CFontDialog
Nesne, sistemde yüklü olan yazı tiplerinin listesini içeren bir iletişim kutusudur. Kullanıcı listeden belirli bir yazı tipini seçebilir ve bu seçim uygulamaya geri bildirilir.
Bir CFontDialog
nesne oluşturmak için sağlanan oluşturucuyu kullanın veya yeni bir alt sınıf türetip kendi özel oluşturucunuzu kullanın.
Bir CFontDialog
nesne oluşturulduktan sonra, iletişim kutusundaki denetimlerin m_cf
değerlerini veya durumlarını başlatmak için yapısını kullanabilirsiniz. m_cf yapısı CHOOSEFONT türündedir. Bu yapı hakkında daha fazla bilgi için bkz. Windows SDK'sı.
İletişim kutusu nesnesinin denetimlerini başlatdıktan sonra, iletişim kutusunu görüntülemek ve kullanıcının bir yazı tipi seçmesine izin vermek için üye işlevini çağırın DoModal
. DoModal
kullanıcının Tamam (IDOK) veya İptal (IDCANCEL) düğmesini seçerek seçmediğini döndürür.
IDOK döndürürse DoModal
, kullanıcı tarafından bilgi girişini almak için 'nin üye işlevlerinden birini CFontDialog
kullanabilirsiniz.
İletişim kutusunun başlatılması sırasında bir hata oluşup oluşmadığını belirlemek ve hata hakkında daha fazla bilgi edinmek için Windows CommDlgExtendedError işlevini kullanabilirsiniz. Bu işlev hakkında daha fazla bilgi için bkz. Windows SDK' sı.
CFontDialog
, Windows 3.1 ve sonraki sürümleriyle birlikte gelen COMMDLG.DLL dosyasına dayanır.
İletişim kutusunu özelleştirmek için, öğesinden CFontDialog
bir sınıf türetin, özel bir iletişim kutusu şablonu sağlayın ve genişletilmiş denetimlerden gelen bildirim iletilerini işlemek için bir ileti eşlemesi ekleyin. İşlenmemiş iletiler temel sınıfa geçirilmelidir.
Kanca işlevini özelleştirmek gerekli değildir.
kullanma CFontDialog
hakkında daha fazla bilgi için bkz . Ortak İletişim Kutusu Sınıfları.
Devralma Hiyerarşisi
CFontDialog
Gereksinimler
Üst bilgi: afxdlgs.h
CFontDialog::CFontDialog
Bir CFontDialog
nesne oluşturur.
CFontDialog(
LPLOGFONT lplfInitial = NULL,
DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,
CDC* pdcPrinter = NULL,
CWnd* pParentWnd = NULL);
CFontDialog(
const CHARFORMAT& charformat,
DWORD dwFlags = CF_SCREENFONTS,
CDC* pdcPrinter = NULL,
CWnd* pParentWnd = NULL);
Parametreler
plfInitial
Yazı tipinin bazı özelliklerini ayarlamanıza olanak tanıyan LOGFONT veri yapısına yönelik bir işaretçi.
charFormat
Zengin düzenleme denetiminde yazı tipinin bazı özelliklerini ayarlamanıza olanak tanıyan CHARFORMAT veri yapısına yönelik bir işaretçi.
dwFlags
Bir veya daha fazla yazı tipi seçme bayrağı belirtir. Bir veya daha fazla önceden ayarlanmış değer bit düzeyinde OR işleci kullanılarak birleştirilebilir. S yapısı üyesini m_cf.Flag
değiştirirseniz, varsayılan davranışı olduğu gibi tutmak için değişikliklerinizde bit düzeyinde OR işleci kullandığınızdan emin olun. Bu bayrakların her biri hakkında ayrıntılı bilgi için Windows SDK'sında CHOOSEFONT yapısının açıklamasına bakın.
pdcPrinter
Yazıcı-cihaz bağlamı işaretçisi. Bu parametre sağlanırsa, yazı tiplerinin seçileceği yazıcı için yazıcı-cihaz bağlamını gösterir.
pParentWnd
Yazı tipi iletişim kutusunun üst veya sahip penceresinin işaretçisi.
Açıklamalar
Oluşturucunun yapı üyelerini CHOOSEFONT
otomatik olarak doldurduğunu unutmayın. Bunları yalnızca varsayılandan farklı bir yazı tipi iletişim kutusu istiyorsanız değiştirmeniz gerekir.
Not
Bu işlevin ilk sürümü yalnızca zengin düzenleme denetimi desteği olmadığında bulunur.
Örnek
// Show the font dialog with all the default settings.
CFontDialog dlg;
dlg.DoModal();
// Show the font dialog with 12 point "Times New Roman" as the
// selected font.
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
CClientDC dc(this); // expects a CWnd that has already been initialized
lf.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Times New Roman"));
CFontDialog fdlg(&lf);
fdlg.DoModal();
CFontDialog::D oModal
Windows ortak yazı tipi iletişim kutusunu görüntülemek ve kullanıcının yazı tipi seçmesine izin vermek için bu işlevi çağırın.
virtual INT_PTR DoModal();
Dönüş Değeri
IDOK veya IDCANCEL. IDCANCEL döndürülürse, bir hata oluşup oluşmadığını belirlemek için Windows CommDlgExtendedError işlevini çağırın.
IDOK ve IDCANCEL, kullanıcının Tamam mı yoksa İptal düğmesini mi seçtiğini gösteren sabitlerdir.
Açıklamalar
m_cf yapısının üyelerini ayarlayarak çeşitli yazı tipi iletişim kutusu denetimlerini başlatmak istiyorsanız, çağrısından önce DoModal
ancak iletişim kutusu nesnesi oluşturulduğunda bunu yapmanız gerekir.
IDOK döndürürse DoModal
, kullanıcı tarafından iletişim kutusuna ayarları veya bilgi girişini almak için diğer üye işlevlerini çağırabilirsiniz.
Örnek
CFontDialog::CFontDialog ve CFontDialog::GetColor örneklerine bakın.
CFontDialog::GetCharFormat
Seçili yazı tipinin karakter biçimlendirmesini alır.
void GetCharFormat(CHARFORMAT& cf) const;
Parametreler
Cf
Seçili yazı tipinin karakter biçimlendirmesi hakkında bilgi içeren CHARFORMAT yapısı.
CFontDialog::GetColor
Seçili yazı tipi rengini almak için bu işlevi çağırın.
COLORREF GetColor() const;
Dönüş Değeri
Seçili yazı tipinin rengi.
Örnek
// Get the color of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
COLORREF color = dlg.GetColor();
TRACE(_T("Color of the selected font = %8x\n"), color);
}
CFontDialog::GetCurrentFont
Seçili durumdaki yazı tipinin özelliklerini LOGFONT yapısının üyelerine atamak için bu işlevi çağırın.
void GetCurrentFont(LPLOGFONT lplf);
Parametreler
lplf
Bir yapıya işaretçi LOGFONT
.
Açıklamalar
Geçerli yazı tipinin tek tek özelliklerine erişmek için diğer CFontDialog
üye işlevleri sağlanır.
Bu işlev DoModal çağrısı sırasında çağrılırsa, o sırada geçerli seçimi döndürür (kullanıcının iletişim kutusunda gördüğü veya değiştirdiği şey). Bu işlev çağrısından DoModal
sonra çağrılırsa (yalnızca IDOK döndürürse DoModal
), kullanıcının gerçekten seçtiğini döndürür.
Örnek
// Get the characteristics of the currently selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
LOGFONT lf;
dlg.GetCurrentFont(&lf);
TRACE(_T("Face name of the selected font = %s\n"), lf.lfFaceName);
}
CFontDialog::GetFaceName
Seçili yazı tipinin yüz adını almak için bu işlevi çağırın.
CString GetFaceName() const;
Dönüş Değeri
İletişim kutusunda seçilen yazı tipinin CFontDialog
yüz adı.
Örnek
// Get the face name of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
CString facename = dlg.GetFaceName();
TRACE(_T("Face name of the selected font = %s\n"), facename);
}
CFontDialog::GetSize
Seçili yazı tipinin boyutunu almak için bu işlevi çağırın.
int GetSize() const;
Dönüş Değeri
Yazı tipinin boyutu, bir noktanın onda biri.
Örnek
// Get the size of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
int size = dlg.GetSize();
TRACE(_T("The size of the selected font = %d\n"), size);
}
CFontDialog::GetStyleName
Seçili yazı tipinin stil adını almak için bu işlevi çağırın.
CString GetStyleName() const;
Dönüş Değeri
Yazı tipinin stil adı.
Örnek
// Get the style name of the selected font, if any.
CFontDialog dlg;
dlg.m_cf.Flags |= CF_USESTYLE;
if (dlg.DoModal() == IDOK)
{
CString stylename = dlg.GetStyleName();
TRACE(_T("Style name of the selected font = %s\n"), stylename);
}
CFontDialog::GetWeight
Seçili yazı tipinin kalınlığını almak için bu işlevi çağırın.
int GetWeight() const;
Dönüş Değeri
Seçili yazı tipinin kalınlığı.
Açıklamalar
Yazı tipinin ağırlığı hakkında daha fazla bilgi için bkz . CFont::CreateFont.
Örnek
// Get the weight of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
int weight = dlg.GetWeight();
TRACE(_T("Weight of the selected font = %d\n"), weight);
}
CFontDialog::IsBold
Seçili yazı tipinin kalın olup olmadığını belirlemek için bu işlevi çağırın.
BOOL IsBold() const;
Dönüş Değeri
Seçili yazı tipinin Kalın özelliği etkinleştirilmişse sıfır olmayan; aksi takdirde 0.
Örnek
// Is the selected font bold?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
BOOL bold = dlg.IsBold();
TRACE(_T("Is the selected font bold? %d\n"), bold);
}
CFontDialog::IsItalic
Seçili yazı tipinin italik olup olmadığını belirlemek için bu işlevi çağırın.
BOOL IsItalic() const;
Dönüş Değeri
Seçilen yazı tipinin Italik özelliği etkinleştirilmişse sıfır olmayan; aksi takdirde 0.
Örnek
// Is the selected font italic?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
BOOL italic = dlg.IsItalic();
TRACE(_T("Is the selected font italic? %d\n"), italic);
}
CFontDialog::IsStrikeOut
Seçili yazı tipinin üstü çizili olarak görüntülenip görüntülenmediğini belirlemek için bu işlevi çağırın.
BOOL IsStrikeOut() const;
Dönüş Değeri
Seçili yazı tipinin Üstü Çizili özelliği etkinleştirilmişse sıfır olmayan; aksi takdirde 0.
Örnek
// Is the selected font displayed with strikeout?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
BOOL strikeout = dlg.IsStrikeOut();
TRACE(_T("Is the selected font strikeout? %d\n"), strikeout);
}
CFontDialog::IsUnderline
Seçili yazı tipinin altı çizili olup olmadığını belirlemek için bu işlevi çağırın.
BOOL IsUnderline() const;
Dönüş Değeri
Seçili yazı tipinin Altı Çizili özelliği etkinse sıfır olmayan; aksi takdirde 0.
Örnek
// Is the selected font underlined?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
BOOL underline = dlg.IsUnderline();
TRACE(_T("Is the selected font underlined? %d\n"), underline);
}
CFontDialog::m_cf
Üyeleri iletişim kutusu nesnesinin özelliklerini depolayan bir yapı.
CHOOSEFONT m_cf;
Açıklamalar
Bir CFontDialog
nesne oluşturduğunuzda, üye işlevini çağırmadan DoModal
önce iletişim kutusunun çeşitli yönlerini değiştirmek için kullanabilirsinizm_cf
. Bu yapı hakkında daha fazla bilgi için bkz . Windows SDK'sında CHOOSEFONT .
Örnek
// The code fragment creates a font based on the information
// we got from CFontDialog::m_cf variable.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
// Create the font using the selected font from CFontDialog.
LOGFONT lf;
memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));
CFont font;
VERIFY(font.CreateFontIndirect(&lf));
// 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();
}