如何判别Windows系统是否已安装某种字体。例如:如何判别Windows系统是否已安装“华文彩云”字体。
if(Screen->Fonts->IndexOf("华文彩云")!=-1){
ShowMessage("exist");
}else
ShowMessage("no exist");
这样判断吧
//所有字体
//---------------------------------------------------------------------------
int CALLBACK EnumProc(LOGFONT *logfont, TEXTMETRIC *textmetric, DWORD type, LPARAM data)
{
TComboBox *cb = (TComboBox *) data ;
cb->Items->Add (String (logfont->lfFaceName)) ;
return 1 ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
EnumFonts (Canvas->Handle, NULL, (FONTENUMPROC) EnumProc, (LPARAM) ComboBox1) ;
}
//---------------------------------------------------------------------------
bcb的例子
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (int i = 0; i < Screen->Fonts->Count; i++)
ComboBox1->Items->Add(Screen->Fonts->Strings[i]);
}
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{
RichEdit1->Font->Name = ComboBox1->Items->Strings[ComboBox1->ItemIndex];
}