Aracılığıyla paylaş


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 CFontDialogkullanabilirsiniz.

İ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 CFontDialogbir 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 CFontDialoghakkında daha fazla bilgi için bkz . Ortak İletişim Kutusu Sınıfları.

Devralma Hiyerarşisi

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

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.Flagdeğ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 DoModalancak 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();
}

Ayrıca bkz.

MFC Örnek HIERSVR
CCommonDialog Sınıfı
Hiyerarşi Grafiği