Bagikan melalui


Struktur CHOOSEFONTA (commdlg.h)

Berisi informasi yang digunakan fungsi ChooseFont untuk menginisialisasi kotak dialog Font . Setelah pengguna menutup kotak dialog, sistem mengembalikan informasi tentang pilihan pengguna dalam struktur ini.

Sintaks

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

Anggota

lStructSize

Jenis: DWORD

Panjang struktur, dalam byte.

hwndOwner

Jenis: HWND

Handel ke jendela yang memiliki kotak dialog. Anggota ini bisa menjadi handel jendela yang valid, atau bisa NULL jika kotak dialog tidak memiliki pemilik.

hDC

Jenis: HDC

Anggota ini diabaikan oleh fungsi ChooseFont .

Windows Vista dan Windows XP/2000: Handel ke konteks perangkat atau konteks informasi printer yang fontnya akan dicantumkan dalam kotak dialog. Anggota ini hanya digunakan jika anggota Bendera menentukan bendera CF_PRINTERFONTS atau CF_BOTH ; jika tidak, anggota ini diabaikan.

lpLogFont

Jenis: LPLOGFONT

Penunjuk ke struktur LOGFONT . Jika Anda mengatur bendera CF_INITTOLOGFONTSTRUCT di anggota Bendera dan menginisialisasi anggota lain, fungsi ChooseFont menginisialisasi kotak dialog dengan font yang cocok dengan anggota LOGFONT . Jika pengguna mengklik tombol OK , PilihFont mengatur anggota struktur LOGFONT berdasarkan pilihan pengguna.

iPointSize

Jenis: INT

Ukuran font terpilih, dalam satuan 1/10 titik. Fungsi ChooseFont mengatur nilai ini setelah pengguna menutup kotak dialog.

Flags

Jenis: DWORD

Sekumpulan bendera bit yang bisa Anda gunakan untuk menginisialisasi kotak dialog Font . Saat kotak dialog kembali, kotak dialog mengatur bendera ini untuk menunjukkan input pengguna. Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
CF_APPLY
0x00000200L
Menyebabkan kotak dialog menampilkan tombol Terapkan . Anda harus menyediakan prosedur kait untuk memproses pesan WM_COMMAND untuk tombol Terapkan . Prosedur kait dapat mengirim pesan WM_CHOOSEFONT_GETLOGFONT ke kotak dialog untuk mengambil alamat struktur yang berisi pilihan saat ini untuk font.
CF_ANSIONLY
0x00000400L
Bendera ini usang. Untuk membatasi pilihan font ke semua skrip kecuali yang menggunakan kumpulan karakter OEM atau Simbol, gunakan CF_SCRIPTSONLY. Untuk mendapatkan perilaku CF_ANSIONLY asli, gunakan CF_SELECTSCRIPT dan tentukan ANSI_CHARSET di anggota lfCharSet dari struktur LOGFONT yang ditujukkan oleh lpLogFont.
CF_BOTH
0x00000003
Bendera ini diabaikan untuk enumerasi font.

Windows Vista dan Windows XP/2000: Menyebabkan kotak dialog mencantumkan font printer dan layar yang tersedia. Anggota hDC adalah handel untuk konteks perangkat atau konteks informasi yang terkait dengan printer. Bendera ini adalah kombinasi dari bendera CF_SCREENFONTS dan CF_PRINTERFONTS .

CF_EFFECTS
0x00000100L
Menyebabkan kotak dialog menampilkan kontrol yang memungkinkan pengguna menentukan opsi coretan, garis bawah, dan warna teks. Jika bendera ini diatur, Anda dapat menggunakan anggota rgbColors untuk menentukan warna teks awal. Anda dapat menggunakan anggota lfStrikeOut dan lfUnderline dari struktur yang ditujukkan oleh lpLogFont untuk menentukan pengaturan awal kotak centang coretan dan garis bawah. PilihFont dapat menggunakan anggota ini untuk mengembalikan pilihan pengguna.
CF_ENABLEHOOK
0x00000008L
Mengaktifkan prosedur kait yang ditentukan dalam anggota lpfnHook dari struktur ini.
CF_ENABLETEMPLATE
0x00000010L
Menunjukkan bahwa anggota hInstance dan lpTemplateName menentukan templat kotak dialog untuk digunakan sebagai pengganti templat default.
CF_ENABLETEMPLATEHANDLE
0x00000020L
Menunjukkan bahwa anggota hInstance mengidentifikasi blok data yang berisi templat kotak dialog yang dimuat sebelumnya. Sistem mengabaikan anggota lpTemplateName jika bendera ini ditentukan.
CF_FIXEDPITCHONLY
0x00004000L

PilihFont harus menghitung dan mengizinkan pemilihan hanya font pitch tetap.

CF_FORCEFONTEXIST
0x00010000L

PilihFont harus menunjukkan kondisi kesalahan jika pengguna mencoba memilih font atau gaya yang tidak tercantum dalam kotak dialog.

CF_INACTIVEFONTS
0x02000000L

PilihFont juga harus menampilkan font yang diatur ke Sembunyikan di Panel Kontrol Font.

Windows Vista dan Windows XP/2000: Bendera ini tidak didukung sampai Windows 7.

CF_INITTOLOGFONTSTRUCT
0x00000040L

PilihFont harus menggunakan struktur yang ditujukkan oleh anggota lpLogFont untuk menginisialisasi kontrol kotak dialog.

CF_LIMITSIZE
0x00002000L

PilihFont harus memilih hanya ukuran font dalam rentang yang ditentukan oleh anggota nSizeMin dan nSizeMax .

CF_NOOEMFONTS
0x00000800L
Sama seperti bendera CF_NOVECTORFONTS .
CF_NOFACESEL
0x00080000L
Saat menggunakan struktur LOGFONT untuk menginisialisasi kontrol kotak dialog, gunakan bendera ini untuk mencegah kotak dialog menampilkan pilihan awal untuk kotak kombo nama font. Ini berguna ketika tidak ada nama font tunggal yang berlaku untuk pilihan teks.
CF_NOSCRIPTSEL
0x00800000L
Menonaktifkan kotak kombo Skrip . Ketika bendera ini diatur, anggota lfCharSet dari struktur LOGFONT diatur ke DEFAULT_CHARSET saat PilihFont kembali. Bendera ini hanya digunakan untuk menginisialisasi kotak dialog.
CF_NOSIMULATIONS
0x00001000L

PilihFont tidak boleh menampilkan atau mengizinkan pemilihan simulasi font.

CF_NOSIZESEL
0x00200000L
Saat menggunakan struktur untuk menginisialisasi kontrol kotak dialog, gunakan bendera ini untuk mencegah kotak dialog menampilkan pilihan awal untuk kotak kombo Ukuran Font . Ini berguna ketika tidak ada ukuran font tunggal yang berlaku untuk pilihan teks.
CF_NOSTYLESEL
0x00100000L
Saat menggunakan struktur LOGFONT untuk menginisialisasi kontrol kotak dialog, gunakan bendera ini untuk mencegah kotak dialog menampilkan pilihan awal untuk kotak kombo Gaya Font . Ini berguna ketika tidak ada gaya font tunggal yang berlaku untuk pilihan teks.
CF_NOVECTORFONTS
0x00000800L

PilihFont tidak boleh mengizinkan pilihan font vektor.

CF_NOVERTFONTS
0x01000000L
Menyebabkan kotak dialog Font hanya mencantumkan font yang berorientasi horizontal.
CF_PRINTERFONTS
0x00000002
Bendera ini diabaikan untuk enumerasi font.

Windows Vista dan Windows XP/2000: Menyebabkan kotak dialog hanya mencantumkan font yang didukung oleh printer yang terkait dengan konteks perangkat atau konteks informasi yang diidentifikasi oleh anggota hDC . Ini juga menyebabkan label deskripsi jenis font muncul di bagian bawah kotak dialog Font .

CF_SCALABLEONLY
0x00020000L
Menentukan bahwa ChooseFont seharusnya hanya memperbolehkan pemilihan font yang dapat diskalakan. Font yang dapat diskalakan termasuk font vektor, font printer yang dapat diskalakan, font TrueType, dan font yang diskalakan oleh teknologi lain.
CF_SCREENFONTS
0x00000001
Bendera ini diabaikan untuk enumerasi font.

Windows Vista dan Windows XP/2000: Menyebabkan kotak dialog hanya mencantumkan font layar yang didukung oleh sistem.

CF_SCRIPTSONLY
0x00000400L

PilihFont harus mengizinkan pemilihan font untuk semua set karakter non-OEM dan Simbol, serta set karakter ANSI. Ini menggantikan nilai CF_ANSIONLY .

CF_SELECTSCRIPT
0x00400000L
Ketika ditentukan pada input, hanya font dengan set karakter yang diidentifikasi dalam anggota lfCharSet dari struktur LOGFONT yang ditampilkan. Pengguna tidak akan diizinkan untuk mengubah set karakter yang ditentukan dalam kotak kombo Skrip .
CF_SHOWHELP
0x00000004L
Menyebabkan kotak dialog menampilkan tombol Bantuan . Anggota hwndOwner harus menentukan jendela untuk menerima pesan terdaftar HELPMSGSTRING yang dikirim kotak dialog saat pengguna mengklik tombol Bantuan .
CF_TTONLY
0x00040000L

PilihFont hanya boleh menghitung dan mengizinkan pemilihan font TrueType.

CF_USESTYLE
0x00000080L
Anggota lpszStyle adalah penunjuk ke buffer yang berisi data gaya yang harus digunakan ChooseFont untuk menginisialisasi kotak kombo Gaya Font . Saat pengguna menutup kotak dialog, PilihFont menyalin data gaya untuk pilihan pengguna ke buffer ini.
Catatan Untuk meng globalisasi aplikasi, Anda harus menentukan gaya dengan menggunakan anggota lfWeight dan lfItalic dari struktur LOGFONT yang ditujukkan oleh lpLogFont. Nama gaya dapat berubah tergantung pada bahasa antarmuka pengguna sistem.
 
CF_WYSIWYG
0x00008000L
Kedaluwarsa. PilihFont mengabaikan bendera ini.

Windows Vista dan Windows XP/2000: ChooseFont seharusnya hanya mengizinkan pemilihan font yang tersedia pada printer dan tampilan. Jika bendera ini ditentukan, bendera CF_SCREENSHOTS dan CF_PRINTERFONTS, atau CF_BOTH juga harus ditentukan.

rgbColors

Jenis: COLORREF

Jika bendera CF_EFFECTS diatur, rgbColors menentukan warna teks awal. Saat ChooseFont berhasil ditampilkan, anggota ini berisi nilai RGB warna teks yang dipilih pengguna. Untuk membuat nilai warna COLORREF , gunakan makro RGB .

lCustData

Jenis: LPARAM

Data yang ditentukan aplikasi yang diteruskan sistem ke prosedur kait yang diidentifikasi oleh anggota lpfnHook . Ketika sistem mengirim pesan WM_INITDIALOG ke prosedur kait, parameter lParam pesan adalah penunjuk ke struktur SELECTFONT yang ditentukan saat dialog dibuat. Prosedur kait dapat menggunakan pointer ini untuk mendapatkan nilai lCustData .

lpfnHook

Jenis: LPCFHOOKPROC

Penunjuk ke prosedur hook CFHookProc yang dapat memproses pesan yang ditujukan untuk kotak dialog. Anggota ini diabaikan kecuali bendera CF_ENABLEHOOK diatur di anggota Bendera .

lpTemplateName

Jenis: LPCTSTR

Nama sumber daya templat kotak dialog dalam modul yang diidentifikasi oleh anggota hInstance . Templat ini diganti untuk templat kotak dialog standar. Untuk sumber daya kotak dialog bernomor, lpTemplateName bisa menjadi nilai yang dikembalikan oleh makro MAKEINTRESOURCE . Anggota ini diabaikan kecuali bendera CF_ENABLETEMPLATE diatur di anggota Bendera .

hInstance

Jenis: HINSTANCE

Jika bendera CF_ENABLETEMPLATEHANDLE diatur di anggota Bendera , hInstance adalah handel ke objek memori yang berisi templat kotak dialog. Jika bendera CF_ENABLETEMPLATE diatur, hInstance adalah handel ke modul yang berisi templat kotak dialog bernama oleh anggota lpTemplateName . Jika tidak CF_ENABLETEMPLATEHANDLE atau CF_ENABLETEMPLATE diatur, anggota ini diabaikan.

lpszStyle

Jenis: LPTSTR

Data gaya. Jika bendera CF_USESTYLE ditentukan, PilihFont menggunakan data dalam buffer ini untuk menginisialisasi kotak kombo Gaya Font . Saat pengguna menutup kotak dialog, PilihFont menyalin string dalam kotak kombo Gaya Font ke dalam buffer ini.

nFontType

Jenis: WORD

Tipe font yang dipilih saat PilihFont kembali. Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
BOLD_FONTTYPE
0x0100
Bobot font ditebalkan. Informasi ini diduplikasi dalam anggota lfWeight dari struktur LOGFONT dan setara dengan FW_BOLD.
ITALIC_FONTTYPE
0x0200
Atribut font miring diatur. Informasi ini diduplikasi dalam anggota lfItalic dari struktur LOGFONT .
PRINTER_FONTTYPE
0x4000
Fonta adalah font printer.
REGULAR_FONTTYPE
0x0400
Bobot font normal. Informasi ini diduplikasi dalam anggota lfWeight dari struktur LOGFONT dan setara dengan FW_REGULAR.
SCREEN_FONTTYPE
0x2000
Fonta adalah font layar.
SIMULATED_FONTTYPE
0x8000
Font disimulasikan oleh antarmuka perangkat grafis (GDI).

___MISSING_ALIGNMENT__

nSizeMin

Jenis: INT

Ukuran titik minimum yang dapat dipilih pengguna. PilihFont mengenali anggota ini hanya jika bendera CF_LIMITSIZE ditentukan.

nSizeMax

Jenis: INT

Ukuran titik maksimum yang dapat dipilih pengguna. PilihFont mengenali anggota ini hanya jika bendera CF_LIMITSIZE ditentukan.

Keterangan

Catatan

Header commdlg.h mendefinisikan SELECTFONT sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header commdlg.h

Lihat juga

PilihFont

Pustaka Kotak Dialog Umum

Konseptual

MAKEINTRESOURCE

Referensi