Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 32

Вопрос и Ответ 32



Вопрос и Ответ 32

Вопросы и Ответы


      32. Как во время работы приложения загружать новый шрифт?

      Большое количество одновременно установленных шрифтов замедляет работу Windows. Поэтому, при использовании специфических шрифтов, бывает полезно загружать их только на время работы приложения, а после работы удалять их из памяти. Для этого используются две функции:

      function AddFontResource(Filename: PChar): Integer; и

      function RemoveFontResource(Filename: PChar): Bool;

      единственным параметром им необходимо передавать имя файла шрифта. Первая функция возвращает количество, действительно, загруженных шрифтов. Фирма Microsoft рекомендует после загрузки или удаления шрифта посылать всем открытым окнам сообщение, об изменении списка доступных шрифтов.

      Пример:

      Использование гипотетического шрифта "newfont.ttf" с именем "New Font Name".

      ............

      {Загрузка нового шрифта}
      procedure TForm1.FormCreate(Sender: TObject);
      begin

        IF AddFontResource('newfont.ttf') <> 0 THEN

          SendMessage($FFFF, wm_FontChange, 0, 0);

      end;

      ............

      {Использование нового шрифта}
      procedure TForm1.FormPaint(Sender: TObject);
      begin

        Canvas.Font.Name := 'New Font Name';
        Canvas.TextOut(10, 10, 'Привет!');

      end;

      ............

      {Удаление нового шрифта из памяти}
      procedure TForm1.FormClose(Sender: TObject);
      begin

        IF RemoveFontResource('newfont.ttf') THEN

          SendMessage($FFFF, wm_FontChange, 0, 0);

      end;

      ............


...предыдущая страница следующая...
оглавление



[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
"Вопрос и Ответ 32"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.037