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 CFontDialog
satu 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
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.Flag
anggota 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();
}