Bagikan melalui


Kelas CFontDialog

Memungkinkan Anda menggabungkan kotak dialog pemilihan font ke dalam aplikasi Anda.

Sintaks

class CFontDialog : public CCommonDialog

Anggota

Konstruktor Publik

Nama Deskripsi
CFontDialog::CFontDialog Membuat CFontDialog objek.

Metode Publik

Nama Deskripsi
CFontDialog::D oModal Menampilkan dialog dan memperbolehkan pengguna membuat pilihan.
CFontDialog::GetCharFormat Mengambil pemformatan karakter dari font terpilih.
CFontDialog::GetColor Mengembalikan warna font terpilih.
CFontDialog::GetCurrentFont Menetapkan karakteristik font yang saat ini dipilih ke LOGFONT struktur.
CFontDialog::GetFaceName Mengembalikan nama wajah font terpilih.
CFontDialog::GetSize Mengembalikan ukuran titik font terpilih.
CFontDialog::GetStyleName Mengembalikan nama gaya font terpilih.
CFontDialog::GetWeight Mengembalikan bobot font terpilih.
CFontDialog::IsBold Menentukan apakah font tebal.
CFontDialog::IsItalic Menentukan apakah font miring.
CFontDialog::IsStrikeOut Menentukan apakah font ditampilkan dengan coretan.
CFontDialog::IsUnderline Menentukan apakah font digarisbawaahkan.

Anggota Data Publik

Nama Deskripsi
CFontDialog::m_cf Struktur yang CFontDialog digunakan untuk menyesuaikan objek.

Keterangan

Objek CFontDialog adalah kotak dialog dengan daftar font yang saat ini diinstal dalam sistem. Pengguna dapat memilih font tertentu dari daftar, dan pilihan ini kemudian dilaporkan kembali ke aplikasi.

Untuk membuat CFontDialog objek, gunakan konstruktor yang disediakan atau dapatkan subkelas baru dan gunakan konstruktor kustom Anda sendiri.

CFontDialog Setelah objek dibuat, Anda dapat menggunakan m_cf struktur untuk menginisialisasi nilai atau status kontrol dalam kotak dialog. Struktur m_cf berjenis CHOOSEFONT. Untuk informasi selengkapnya tentang struktur ini, lihat Windows SDK.

Setelah menginisialisasi kontrol objek dialog, panggil DoModal fungsi anggota untuk menampilkan kotak dialog dan izinkan pengguna untuk memilih font. DoModal mengembalikan apakah pengguna memilih tombol OK (IDOK) atau Batal (IDCANCEL).

Jika DoModal mengembalikan IDOK, Anda dapat menggunakan salah CFontDialogsatu fungsi anggota untuk mengambil input informasi oleh pengguna.

Anda dapat menggunakan fungsi Windows CommDlgExtendedError untuk menentukan apakah terjadi kesalahan selama inisialisasi kotak dialog dan untuk mempelajari selengkapnya tentang kesalahan tersebut. Untuk informasi selengkapnya tentang fungsi ini, lihat Windows SDK.

CFontDialog bergantung pada file COMMDLG.DLL yang dikirim dengan Windows versi 3.1 dan yang lebih baru.

Untuk mengkustomisasi kotak dialog, dapatkan kelas dari CFontDialog, sediakan templat dialog kustom, dan tambahkan peta pesan untuk memproses pesan pemberitahuan dari kontrol yang diperluas. Setiap pesan yang tidak diolah harus diteruskan ke kelas dasar.

Menyesuaikan fungsi kait tidak diperlukan.

Untuk informasi selengkapnya tentang menggunakan CFontDialog, lihat Kelas Dialog Umum.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Persyaratan

Header: afxdlgs.h

CFontDialog::CFontDialog

Membuat CFontDialog objek.

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);

Parameter

plfInitial
Penunjuk ke struktur data LOGFONT yang memungkinkan Anda mengatur beberapa karakteristik font.

charFormat
Penunjuk ke struktur data CHARFORMAT yang memungkinkan Anda mengatur beberapa karakteristik font dalam kontrol edit yang kaya.

dwFlags
Menentukan satu atau beberapa bendera pilih-font. Satu atau beberapa nilai prasetel dapat dikombinasikan menggunakan operator OR bitwise. Jika Anda memodifikasi m_cf.Flaganggota struktur s, pastikan untuk menggunakan operator OR bitwise dalam perubahan Anda untuk menjaga perilaku default tetap utuh. Untuk detail tentang masing-masing bendera ini, lihat deskripsi struktur CHOOSEFONT di Windows SDK.

pdcPrinter
Penunjuk ke konteks perangkat printer. Jika disediakan, parameter ini menunjuk ke konteks perangkat printer untuk printer tempat font dipilih.

pParentWnd
Penunjuk ke jendela induk atau pemilik kotak dialog font.

Keterangan

Perhatikan bahwa konstruktor secara otomatis mengisi anggota CHOOSEFONT struktur. Anda seharusnya hanya mengubah ini jika Anda ingin dialog font berbeda dari default.

Catatan

Versi pertama dari fungsi ini hanya ada ketika tidak ada dukungan kontrol edit yang kaya.

Contoh

// 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

Panggil fungsi ini untuk menampilkan kotak dialog font umum Windows dan perbolehkan pengguna memilih font.

virtual INT_PTR DoModal();

Tampilkan Nilai

IDOK atau IDCANCEL. Jika IDCANCEL dikembalikan, panggil fungsi Windows CommDlgExtendedError untuk menentukan apakah terjadi kesalahan.

IDOK dan IDCANCEL adalah konstanta yang menunjukkan apakah pengguna memilih tombol OK atau Batal.

Keterangan

Jika Anda ingin menginisialisasi berbagai kontrol dialog font dengan mengatur anggota struktur m_cf , Anda harus melakukan ini sebelum memanggil DoModal, tetapi setelah objek dialog dibangun.

Jika DoModal mengembalikan IDOK, Anda dapat memanggil fungsi anggota lain untuk mengambil pengaturan atau input informasi oleh pengguna ke dalam kotak dialog.

Contoh

Lihat contoh untuk CFontDialog::CFontDialog dan CFontDialog::GetColor.

CFontDialog::GetCharFormat

Mengambil pemformatan karakter dari font terpilih.

void GetCharFormat(CHARFORMAT& cf) const;

Parameter

Cf
Struktur CHARFORMAT yang berisi informasi tentang pemformatan karakter font yang dipilih.

CFontDialog::GetColor

Panggil fungsi ini untuk mengambil warna font terpilih.

COLORREF GetColor() const;

Tampilkan Nilai

Warna font terpilih.

Contoh

// 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

Panggil fungsi ini untuk menetapkan karakteristik font yang saat ini dipilih ke anggota struktur LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Parameter

lplf
Penunjuk ke LOGFONT struktur.

Keterangan

Fungsi anggota lain CFontDialog disediakan untuk mengakses karakteristik individual dari font saat ini.

Jika fungsi ini dipanggil selama panggilan ke DoModal, fungsi ini mengembalikan pilihan saat ini pada saat itu (apa yang dilihat atau telah diubah pengguna dalam dialog). Jika fungsi ini dipanggil setelah panggilan ke DoModal (hanya jika DoModal mengembalikan IDOK), fungsi ini mengembalikan apa yang sebenarnya dipilih pengguna.

Contoh

// 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

Panggil fungsi ini untuk mengambil nama wajah font yang dipilih.

CString GetFaceName() const;

Tampilkan Nilai

Nama wajah font yang dipilih dalam kotak CFontDialog dialog.

Contoh

// 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

Panggil fungsi ini untuk mengambil ukuran font yang dipilih.

int GetSize() const;

Tampilkan Nilai

Ukuran font, dalam persepuluh titik.

Contoh

// 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

Panggil fungsi ini untuk mengambil nama gaya font terpilih.

CString GetStyleName() const;

Tampilkan Nilai

Nama gaya font.

Contoh

// 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

Panggil fungsi ini untuk mengambil berat font yang dipilih.

int GetWeight() const;

Tampilkan Nilai

Bobot font terpilih.

Keterangan

Untuk informasi selengkapnya tentang berat font, lihat CFont::CreateFont.

Contoh

// 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

Panggil fungsi ini untuk menentukan apakah font yang dipilih tebal.

BOOL IsBold() const;

Tampilkan Nilai

Bukan nol jika font yang dipilih mengaktifkan karakteristik Tebal; jika tidak, 0.

Contoh

// 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

Panggil fungsi ini untuk menentukan apakah font yang dipilih miring.

BOOL IsItalic() const;

Tampilkan Nilai

Bukan nol jika font yang dipilih mengaktifkan karakteristik Miring; jika tidak, 0.

Contoh

// 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

Panggil fungsi ini untuk menentukan apakah font yang dipilih ditampilkan dengan coretan.

BOOL IsStrikeOut() const;

Tampilkan Nilai

Bukan nol jika font yang dipilih mengaktifkan karakteristik Strikeout; jika tidak, 0.

Contoh

// 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

Panggil fungsi ini untuk menentukan apakah font yang dipilih digaris bawahi.

BOOL IsUnderline() const;

Tampilkan Nilai

Bukan nol jika font yang dipilih mengaktifkan karakteristik Garis Bawah; jika tidak, 0.

Contoh

// 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

Struktur yang anggotanya menyimpan karakteristik objek dialog.

CHOOSEFONT m_cf;

Keterangan

Setelah membuat CFontDialog objek, Anda dapat menggunakan m_cf untuk memodifikasi berbagai aspek kotak dialog sebelum memanggil DoModal fungsi anggota. Untuk informasi selengkapnya tentang struktur ini, lihat CHOOSEFONT di Windows SDK.

Contoh

// 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();
}

Lihat juga

Sampel MFC HIERSVR
Kelas CCommonDialog
Bagan Hierarki