Поиск на сайте
Главная Журнал Форум Wiki DRKB Страны мира

Borland C++ Builder FAQ
Составлен по материалам форума на Исходниках.Ru
Содержание Последнее обновление: 14.02.2004

Как узнать, какие шрифты установлены в системе?

Автор: OlegGG, trainer
Исходная ссылка: - - -

Как получить список всех установленных шрифтов?
Использовать TScreen::Fonts.
Пример:
Memo1->Lines->Text = "В системе установлены следующие шрифты:\n\n" + Screen->Fonts->Text;


Как получить список только моноширинных шрифтов?
/* функция-перечислитель для шрифтов */
int CALLBACK EnumFontsProc(LOGFONT * lplf, TEXTMETRIC * lptm, DWORD dwType, LPARAM lpData){
   if( (lptm->tmPitchAndFamily&TMPF_FIXED_PITCH) == 0 ) {
	 TStrings * strlist = (TStrings *)lpData;
	 strlist->Add(lplf->lfFaceName);
   }
   return TRUE;
}
/* обработчик нажатия на кнопку, по которому будем создавать список шрифтов */
void __fastcall TForm1::Button1Click(TObject *Sender) {
   /* Очищаем TMemo */
   Memo1->Lines->Clear();
   /* инициируем перечисление */
   EnumFonts(Canvas->Handle,NULL,(FONTENUMPROC)&EnumFontsProc,(LPARAM)Memo1->Lines);
   /* теперь в Memo1 отображен список моноширинных шрифтов */
}


Основные разделы сайта


 

Реклама бункерные весы от Schenck Process Group тех характеристика.