![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 18
|
![]()
Добрый день.
В программе требуется использовать нестандартные шрифты. Храню их в ресурсе *.res. Сами шрифты загружаю в программе без проблем, НО когда они сохранены на диске. Т.е. при старте программы создается папка, туда сохраняются шрифты а потом уже подгружаются в программу. При закрытии программы папка удаляется. А можно ли подгружать шрифты из потока, не сохраняя их на диск? Насколько я понял, для этого предназначена функция: Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Я думаю под тем же, что было и когда подгружался из папки.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 18
|
![]()
Да в том-то и дело, что это ничего не дает
|
![]() |
![]() |
![]() |
#4 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Вангую, что под внутренним именем, которое прописано в файле шрифта. Оно должно выводиться в стандартном просмотре шрифта.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 18
|
![]()
Так его и прописываю
|
![]() |
![]() |
![]() |
#6 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Гм, гм. Я тут прочитал описание функции AddFontMemResourceEx в MSDN и укрепился во мнении, что добавляемый шрифт остается безымянным, нужно использовать возвращаемый описатель (handle), напрямую присваивая его ресурсам GDI и/или передавая в процедуры отрисовки.
Возможно, стоит даже своего наследника TFont зарядить, перекрыв конструктор и деструктор, чтобы правильно ресурсы GDI освобождать и не допускать их переполнения. Непросто всё это...
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 18
|
![]()
А можно подробнее или с кусочком кода?
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,368
|
![]()
Насколько я понимаю:
HFONT hFont = (HFONT) AddFontMemResourceEx (...); SelectObject(hDC, hFont); Но я сомневаюсь в таком подходе. По мне так надо сделать EnumFonts до и после установки и посмотреть разницу. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.11.2009
Сообщений: 18
|
![]()
Разницы нет. В списке шрифтов ничего не появляется
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Загрузка ресурса в RichEdit | Volkogriz | Общие вопросы Delphi | 3 | 05.06.2014 08:57 |
Загрузка стороннего ресурса, node.js | Naive | Общие вопросы Web | 0 | 29.11.2013 12:05 |
загрузка в Image JPEG-файл из ресурса | casio23 | Мультимедиа в Delphi | 1 | 10.02.2012 02:23 |
loadimage и загрузка изображение из ресурса | fate | Общие вопросы Delphi | 11 | 10.08.2011 10:47 |
Изменение шрифтов | xTANATOSx | Общие вопросы Delphi | 3 | 07.11.2007 00:02 |