Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

Как узнать размер и список шрифтов

Чтобы узнать, шрифты какого размера используются в системе, используйте следующий код:
 
 HDC hDCScreen = GetDC(NULL);
 
 
 
 int FontPixels= GetDeviceCaps(hDCScreen, LOGPIXELSX);
 
 
 
 ReleaseDC(NULL, hDCScreen);
В FontPixels будет находиться размер шрифта - в пикселях на дюйм. В случае маленьких шрифтов - 96 пикселей на дюйм, в случае больших - 120 пикселей на дюйм.



Как получить список всех установленных шрифтов?


Использовать 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 отображен список моноширинных шрифтов */
 
 }



<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS