C++ Builder: работа со шрифтами

Эта запись посвящена получению информации о шрифтах имеющихся в системе средствами C++ Builder.

К примеру, для того чтоб вывести информацию о количестве шрифтов в системе нужно получить значение свойства Screen->Fonts->Count.

Наименования шрифтов хранятся в строках Screen->Fonts->Strings[i]. Здесь i – целое число – индекс каждого из наименований шрифтов.

Листинг программы-примера ниже, комментарии в наличии:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma hdrstop
 
#include "Unit1.h"
//-----------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//-----------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//-----------------------------------------------------------
 
// событие создания формы
void __fastcall TForm1::FormCreate(TObject *Sender)
{
//циклически заполняем комбобокс
 for(int i=0;i<Screen->Fonts->Count;i++)
  ComboBox1->Items->Add(Screen->Fonts->Strings[i]); 
 ComboBox1->ItemIndex=0;
//ставим шрифт в Label-пример
 Label1->Font->Name=ComboBox1->Text;
}
//-----------------------------------------------------------
 
//событие изменения комбобокса
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
//ставим шрифт в Label-пример
 Label1->Font->Name=ComboBox1->Text;
}
//-----------------------------------------------------------

Результат работы программы представлен ниже.

Результат работы приложения

Архив можно скачать по этой ссылке.

0

  1. О наконецто работа со шрифтами, давно искал статью на эту тему большое спасибо

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *