Вниз
Скачать: CL | DM;

Замена шрифтов   Найти похожие ветки 

 
Garfunkel   (2004-11-03 01:44) [0]

Вот я установил Font моей Label как Impact. А теперь думаю - а что если такого шрифта на машине пользователя не будет? На что его поменяет система?


 
TechnoDreamer   (2004-11-03 02:01) [1]

Заменит наиболее похожим. Можно шрифт встроить в прогу:
1. Делаете *.RC файл, содержащий ссылку на соотв. файл шрифта.
2. Компилируете ресурс с помощью BRCC32
3. Вставляете ресурс в свою программу с помощью директивы {$R ..}
4. Когда шрифт понадобится (например, при старте программы), извлекаете его из ресурса и записываете в файл на HD с помощью TRersourceStream. Перед этим, на всякий случай проверьте с помощью EnumFontFamilies, вдруг Ваш шрифт ужде в системе есть.
5. Делаете ресурс доступным для Windows с помощью AddFontResource( ваш_файл ) + бродкастом рассылаете WM_FONTCHANGE
6. Пользуетесь этим шрифтом так же, как и любым другим.
7. Когда нужда в шрифте отпадает (например, при завершении работы), делаете RemoveFontResource + WM_FONTCHANGE и удаляете файл с HD. А если хотите, можно и не удалять, а оставить в системе (тогда файл копировать лучше в Windows\Fonts, предварительно убедившись, что у Вас есть на это право.

Плюс еще можно почитать об этом здесь: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/fontext_7qb8.asp

З.Ы. Инфу я взял когда то с ответ Kid_Deceiver, с форума iXBT.


 
Garfunkel   (2004-11-04 01:50) [2]

Спасибо за дельный ответ. "Похожий" шрифт это я так понимаю - с засечками и без засечек (serif/sans-serif)? А вот я хочу подобрать fixed font (моноширинный) чтобы на любой системе он был (ну на 99%). Думаю Courier New везде есть, не так ли?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
8-1092984946
k-sergey
2004-08-20 10:55
2004.11.21
как в TlistBox изменить цвет полоски выделеного item-а?


1-1099469917
Rinst
2004-11-03 11:18
2004.11.21
Ошибка компиляции


4-1097643929
atom
2004-10-13 09:05
2004.11.21
запуск программы от имени другого пользователя


1-1100122006
SkyNet
2004-11-11 00:26
2004.11.21
Чужая программа и её самовосстанавливающаяся переменная


14-1099593739
911
2004-11-04 21:42
2004.11.21
Интернет подключение




   Наверх