Импортирование Своих Шрифтов в программу VB6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Импортирование Своих Шрифтов в программу VB6

Сообщение u3er » 11.05.2013 (Сб) 22:52

Допустим я сделал программу и в textbox в label и прочих элементах я использую свой шрифт формате .tif как сделать чтобы этот свой шрифт отображался и на другой системе, ПРИ ЭТОМ НЕ УСТАНАВЛИВАЯ ЗАРАНЕЕ ШРИФТ В ПАПКУ windows/fonts?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 11.05.2013 (Сб) 23:06

u3er писал(а):как сделать чтобы этот свой шрифт отображался и на другой системе

Нужно при запуске программы вызвать функцию AddFontResource, а при завершении RemoveFontResource. Это WinApi-функции из библиотеки gdi32, их объявление можно взять в API Viewer'е, который ставится вместе со средой. Система сама считает количество вызовов функций для одних и тех же файлов, поэтому никакие проверки на многократный запуск программы не требуются. Обращаю внимание, что зарегистрированные таким образом шрифты будут доступны и другим программа, а не только той, из которой они зарегистрированы.
Пример программы на VB.NET. Внимание, объявление функций в VB.NET отличается от объявления в VB6.
Ещё один подвох может быть в том, что шрифты для контролов придётся задавать после выполнения регистрации, соответственно, не (или не только) в дизайнере формы, но это надо проверять.

u3er
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 04.05.2013 (Сб) 21:50

Re: Импортирование Своих Шрифтов в программу VB6

Сообщение u3er » 11.05.2013 (Сб) 23:11

Qwertiy писал(а):
u3er писал(а):как сделать чтобы этот свой шрифт отображался и на другой системе

Нужно при запуске программы вызвать функцию AddFontResource, а при завершении RemoveFontResource. Это WinApi-функции из библиотеки gdi32, их объявление можно взять в API Viewer'е, который ставится вместе со средой.
Пример программы на VB.NET. Внимание, объявление функций в VB.NET отличается от объявления в VB6.
Ещё один подвох может быть в том, что шрифты для контролов придётся задавать после выполнения регистрации, соответственно, не (или не только) в дизайнере формы, но это надо проверять.


Спасибо большое вот нельзя так сразу отвечать хороший понятный четкий ответ

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: Импортирование Своих Шрифтов в программу VB6

Сообщение ger_kar » 11.05.2013 (Сб) 23:42

u3er писал(а):Спасибо большое вот нельзя так сразу отвечать хороший понятный четкий ответ
Что-бы получить четкий ответ нужен как минимум четко сформулированный вопрос и наличие всех данных позволяющих этот вопрос разрешить. Тогда возможно и ответ будет. А если нет конкретики, то будет разгадывание ребуса.
Бороться и искать, найти и перепрятать


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 21

    TopList