Вопросы и Ответы
32. Как во время работы приложения загружать новый шрифт?
Большое количество одновременно установленных шрифтов замедляет работу Windows. Поэтому, при использовании специфических шрифтов, бывает полезно загружать их только на время работы приложения, а после работы удалять их из памяти. Для этого используются две функции:
function AddFontResource(Filename: PChar): Integer; и
function RemoveFontResource(Filename: PChar): Bool;
единственным параметром им необходимо передавать имя файла шрифта. Первая функция возвращает количество, действительно, загруженных шрифтов. Фирма Microsoft рекомендует после загрузки или удаления шрифта посылать всем открытым окнам сообщение, об изменении списка доступных шрифтов.
Пример:
Использование гипотетического шрифта "newfont.ttf" с именем "New Font Name".
............
{Загрузка
нового шрифта} IF
AddFontResource('newfont.ttf') <> 0 THEN SendMessage($FFFF,
wm_FontChange, 0, 0); end; ............ {Использование
нового шрифта} Canvas.Font.Name
:= 'New Font Name'; end; ............ {Удаление
нового шрифта из памяти} IF
RemoveFontResource('newfont.ttf') THEN SendMessage($FFFF,
wm_FontChange, 0, 0); end; ............
procedure TForm1.FormCreate(Sender: TObject);
begin
procedure TForm1.FormPaint(Sender: TObject);
begin
Canvas.TextOut(10, 10, 'Привет!');
procedure TForm1.FormClose(Sender: TObject);
begin
...предыдущая страница следующая...
оглавление