Как инсталлировать свои шрифты в Delphi?

Добавить фонт (.fon, .fot, .fnt, .ttf) в систему можно след. образом:

{$IFDEF WIN32}
  AddFontResource( PChar( my_font_PathName { AnsiString } ) );
{$ELSE}
var
  ss  : array [ 0..255 ] of Char;
  AddFontResource ( StrPCopy ( ss, my_font_PathName ));
{$ENDIF}
  SendMessage ( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );

Убрать его по окончании работы:

{$IFDEF WIN32}
  RemoveFontResource ( PChar(my_font_PathName) );
{$ELSE}
  RemoveFontResource ( StrPCopy ( ss, my_font_PathName ));
{$ENDIF}
  SendMessage ( HWND_BROADCAST, WM_FONTCHANGE, 0, 0 );

При этом не надо никаких перезагрузок и прочего, после добавления фонт сразу можно использовать.

my_font_PathName : string ( не string[nn] для D2+)

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 оценок, среднее: 5,00 из 5)
Загрузка...
Добавить комментарий