| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Шрифт из ресурсов... |
| Автор: WIN32API 23.12.2005, 15:34 |
| Как загрузить шрифт из ресурсов программы не сохраняя его на диск? Я знаю точно, что такой способ есть! Сенкс! |
| Автор: _hunter 23.12.2005, 16:13 |
| а зачем его сохранять? LoadResource() и все... |
| Автор: WIN32API 23.12.2005, 16:23 |
| Не можеть быть, чтобы так просто? Я как-то видел довольно большой код, который позволяет использовать шрифт из ресурсов? Попробую. |
| Автор: WIN32API 23.12.2005, 17:38 |
| 2_hunter Ерунда! Кинь мне рабочий пример, если у тебя получилось так загрузить шрифт? |
| Автор: _hunter 23.12.2005, 18:22 |
| ты определись. "загрузить" или что-то другое. например "использовать" |
| Автор: WIN32API 23.12.2005, 18:36 |
| а для чего его тогда грузить? вместо телевизора? |
| Автор: _hunter 23.12.2005, 18:56 |
| откуда я знаю зачем тебе это понадобилось?.. |
| Автор: WIN32API 28.12.2005, 16:44 |
| Ребят, неужели никто не знает?? |
| Автор: Snowy 28.12.2005, 17:18 | ||
Я никогда не пробовал, но думаю, что с помощью
Добавлено @ 17:18 WIN32API, а почему бы тебе не зарегестрироваться? Уже далеко не в первый раз забегаешь... |
| Автор: _hunter 28.12.2005, 17:34 |
| 'неужели никто не знает" что? напиши толком что тебе нужно |
| Автор: Snowy 28.12.2005, 17:39 |
| Ему нужно в программе использовать свой шрифт. Шрифт находится в ресурсах. Он хочет его использовать, не сохраняя его на диск. |
| Автор: WIN32API 28.12.2005, 17:41 |
| Я использую свой шрифт в программе. Инсталлировать его в систему юзера не желаю, ложить в каталог рядом с программой также. |
| Автор: Snowy 28.12.2005, 18:06 |
| Если я правильно понимаю, то AddFontMemResourceEx грузит фонт из памяти. Причем фонт нигде не фиксируется, доступен только нашей программе. По завершении программы фонт более не существует в системе. |
| Автор: WIN32API 28.12.2005, 22:07 |
| AddFontMemResourceEx прописана ли в модулях DELPHI 7. Если да - то в каком? |
| Автор: Snowy 28.12.2005, 22:34 | ||
Да. Модуль Windows:
|
| Автор: WIN32API 29.12.2005, 10:38 | ||
Нашел функцию, но не выходит ее побороть. Ресурс находится (FindResource), с этим проблем нет, но использовать я его не могу - AddFontMemResourceEx не работает, хотя все тестится под WinXP Pro.
|
| Автор: _hunter 29.12.2005, 11:32 | ||
| так а что за ошибка? и что за тип шрифта? +
|
| Автор: WIN32API 29.12.2005, 11:35 |
| А нет никаких ошибок. Тип шрифта - TTF. |
| Автор: _hunter 29.12.2005, 11:57 |
| в смысле "нет никаких ошибок"? что AddFontMemResourceEx() возвращает? и почему, кстати, ты возвращаемое значение не береш? |
| Автор: WIN32API 29.12.2005, 12:17 |
| Точно, я не посмотрел, что возвращает AddFontMemResourceEx, а под рукой сейчас Делфятины нет. Ну, добро, теоретически: если функция возвращает не нуль (все успешно) и если возвращает нуль (не успешно) и при этом не работает - куда мне копать в этих ситуациях? |
| Автор: _hunter 29.12.2005, 12:23 |
| если вернет 0 -- нужно смотреть GetLastError() -- возможно что-то прояснит а вторая ситуация просто не реальная |
| Автор: bems 6.1.2006, 18:02 | ||
Попробуй так:
|
| Автор: Gwire 1.8.2012, 13:23 | ||||||||
| Тема старая. Но хотелось дополнить её для ясности всей операции подключения шрифтов. К примеру нужно встроить шрифт Concolas (файлы consola.ttf, consolab.ttf, consolai.ttf, consolaz.ttf) 1) Создать файл ресурса для дальнейшего подключения к проекту. а. Создать файл concolas.rc
б. Создать файл concolas.cmd (чтобы руками каждый раз не вбивать и как памятка будет)
в. Запусть concolas.cmd. Будет создан нужный нам "concolas.res" 2) Скопировать полученный файл "concolas.res" к проекту 3) Далее реализовать функции загрузки и освобождения шрифта
4) В файле проекта
|