IPB

> RegisterBGIFont (функция) (модуль Graph)
Чат
Форум
Загрузка...
 

Язык:
Русский
English

 RegisterBGIFont (функция)    (модуль Graph)


Передает графической системе указатель на шрифт, который был встроен в исполняемый файл программы (с помощью tlink.exe).

Объявление

 Function RegisterBGIFont(Font : Pointer) : Integer;

Режим

Real, Protected

Замечания

Если происходит ошибка, функция возвращает значение меньшее нуля. Возможные коды ошибок - grError, grInvalidFont и grInvalidFontNum. При отсутствии ошибок, возвращается внутренний номер шрифта.

Эта функция дает возможность пользователю загрузить файл шрифта и зарегистрировать его, передавая его расположение в памяти в RegisterBGIfont.

При вызове SetTextStyle, будет использоваться зарегистрированный шрифт, вместо загружанмого с диска модулем Graph. Зарегистрированный пользователем шрифт может быть загружен с диска в кучу (heap), или преобразован в *.OBJ файл (с помощью BINOBJ.EXE) и прилинкован к *.EXE

Для загрузки и регистрации файла шрифта имеются несколько причин: Во-первых, Graph может хранить только один штриховой шрифт в памяти в определенный момент времени. Если ваша программа должна быстро чередовать штриховые шрифты, вы можете зарегистрировать нужные вам шрифты самостоятельно в начале программы. При этом Graph уже не будет загружать и выгружать шрифты каждый раз при обращении к SetTextStyle.

Во-вторых, при желании, вы можете включить файлы шрифта непосредственно в ваш *.EXE файл. Таким образом, необходимые для работы вашей программы файлы шрифта, будут встроены в нее.

Встроить файл шрифта в вашу программу можно так:

   1. Запустить программу binobj.exe на файле шрифта.
   2. Скомпоновать полученный *.OBJ файл с вашей программой.
   3. Зарегистрировать файл шрифта перед вызовом InitGraph.

Для более детального объяснения и примера вышенаписанного, смотри комментарии в программе BGILINK.PAS на дистрибутивном диске. Документация по утилите BINOBJ доступна в файле UTIL.DOC (в архиве ONLINE.ZIP) на вашем дистрибутивном диске.

Смотри также

Пример

Язык:
Русский
English


 { Пример программы для RegisterBGIFont }

uses Graph;
var
  Driver, Mode : Integer;
  FontF        : File;
  FontP        : Pointer;
begin
 { Открываем файл шрифта, регистрируем }
  Assign(FontF, 'TRIP.CHR');
 Reset(FontF, 1);
 GetMem(FontP, FileSize(FontF));
 BlockRead(FontF, FontP^, FileSize(FontF));
 if RegisterBGIFont(FontP) < 0 then
 begin
   WriteLn('Ошибка регистрации шрифта: ', GraphErrorMsg(GraphResult));
   Halt(1);
 end;
 { Инициализируем графику }
  Driver := Detect;
  InitGraph(Driver, Mode, 'X:\BP'); { Путь к BGI драйверам }
 if GraphResult < 0 then
   Halt(1);
 ReadLn;
 { Выбираем установленый шрифт }
  SetTextStyle(TriplexFont, HorizDir, 4);
  OutText('Triplex loaded by user program');
  MoveTo(0, TextHeight('a'));
 ReadLn;
 { Выбираем шрифт, загружаемый с диска }
  SetTextStyle(SansSerifFont, HorizDir, 4);
  OutText('Your disk should be spinning..');
  MoveTo(0, GetY + TextHeight('a'));
 ReadLn;
 { Перевыбираем фонт, уже находящийся в памяти }
  SetTextStyle(TriplexFont, HorizDir, 4);
  OutText('Back To Triplex');
 ReadLn;
  CloseGraph;
end.
 
 К началу страницы 
Тэги: RegisterBGIfont
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"