|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.03.2009, 00:12 | #1 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
Добавление шрифта
Доброго времени суток, уважаемые знатоки.
У меня возникла такая проблема, если запускать приложение на другом компе где не установлен нужный шрифт - приложение не хочет работать, как выход сделал следующее: 1) при старте делаю проверку наличия шрифта 2) если шрифта нету - то устанавливаю его но все же приложение выбивает с ошибкой об неустановлденом шрифте.. все последующие запуски (без перезагрузки компа) происходят нормальо.. Как можна решить данную кроме как после установки шрифта запускать свою копию и тихонько закрывать приложение?? пишу на API с использованием GDI+. проверку и установку делаю так: Код:
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
28.03.2009, 01:00 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Добавить фонт (.fon, .fot, .fnt, .ttf) в систему можно след. образом:
{$IFDEF WIN32} AddFontResource(PChar(my_font_PathN ame{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_Pa thName)); {$ELSE} RemoveFontResource(StrPCopy(ss, my_font_PathName)); {$ENDIF} SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); Где my_font_PathName - полный путь к файлу со шрифтом. |
28.03.2009, 01:01 | #3 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Сам пока не пробовал, но вот есть интересная статья...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
28.03.2009, 01:15 | #4 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
mihali4, я работаю тока под 32-х разрядной ВинХР, поэтому проверка
{$IFDEF WIN32} тут лишняя.. и если ты смотрел код то у меня есть сообщения AddFontResource SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); DomiNick, спасиба за статью, описаный там метод работать не будет.. чирбы гарантировано установить шрифт в систему - нада прописать его в реестре (см. мой код). и еще отличие моего метода и того что в даной - разные способы извлечения ресурса, и в статья не приведена проверка на его наличие.
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Изменение размера шрифта | Nando | Microsoft Office Excel | 4 | 07.03.2009 16:45 |
Настройка шрифта | Vladya | Помощь студентам | 2 | 16.11.2008 20:41 |
Размер шрифта | Gorychev | HTML и CSS | 6 | 25.05.2008 11:42 |
Неправильное отображение шрифта | chingiz | Общие вопросы Delphi | 2 | 25.01.2008 18:47 |
Сохранение шрифта в реестре | GAGARIN-NEW | Общие вопросы Delphi | 4 | 07.12.2007 22:11 |