CodeNet / Языки программирования / Delphi & Kylix / FAQ - Часто задаваемые вопросы / Пишем инсталятор.
FAQ - Как проинсталлировать свои шрифты
Как проинсталлировать свои шрифты
© Зайцев Олег
http://z-ol.chat.ru/
http://z-ol.chat.ru/
Добавить шрифт (файл .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+) - содержит полный путь с именем и расширением необходимого фонта. После удаления фонта форточки о нем забывают. Если его не удалить, он (кажется) так и останется проинсталенным, во всяком случае, я это не проверял.