Fungsi RemoveFontResourceA (wingdi.h)
Fungsi RemoveFontResource menghapus font dalam file yang ditentukan dari tabel font sistem.
Jika font ditambahkan menggunakan fungsi AddFontResourceEx , Anda harus menggunakan fungsi RemoveFontResourceEx .
Sintaks
BOOL RemoveFontResourceA(
[in] LPCSTR lpFileName
);
Parameter
[in] lpFileName
Penunjuk ke string yang dihentikan null yang menamai file sumber daya font.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Kami menyarankan agar jika aplikasi menambahkan atau menghapus font dari tabel font sistem, aplikasi akan memberi tahu jendela lain tentang perubahan dengan mengirim pesan WM_FONTCHANGE ke semua jendela tingkat atas dalam sistem. Aplikasi mengirim pesan ini dengan memanggil fungsi SendMessage dengan parameter hwnd diatur ke HWND_BROADCAST.
Jika ada referensi yang luar biasa ke font, sumber daya terkait tetap dimuat sampai tidak ada konteks perangkat yang menggunakannya. Selain itu, jika font tercantum dalam registri font (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts) dan diinstal ke lokasi mana pun selain folder %windir%\fonts\, font mungkin dimuat ke sesi aktif lainnya (termasuk sesi 0).
Ketika Anda mencoba mengganti file font yang ada yang berisi font dengan referensi luar biasa untuk itu, Anda mungkin mendapatkan kesalahan yang menunjukkan bahwa font asli tidak dapat dihapus karena sedang digunakan bahkan setelah Anda memanggil RemoveFontResource. Jika aplikasi Anda mengharuskan file font diganti, untuk mengurangi jumlah sumber daya font asli menjadi nol, panggil RemoveFontResource dalam perulangan seperti yang ditunjukkan dalam kode contoh ini. Jika Anda terus mendapatkan kesalahan, ini adalah indikasi bahwa file font tetap dimuat di sesi lain. Pastikan font tidak tercantum dalam registri font dan mulai ulang sistem untuk memastikan font dibongkar dari semua sesi.
int i = 0;
while( RemoveFontResource( FontFile ) )
{
i++;
}
// TODO: Replace font file
while( i-- )
{
AddFontResource( FontFile );
}
Catatan
Header wingdi.h mendefinisikan RemoveFontResource sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor 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
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | wingdi.h (sertakan Windows.h) |
Pustaka | Gdi32.lib |
DLL | Gdi32.dll |