Список шрифтов...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Список шрифтов...

Сообщение X-BOND » 06.08.2003 (Ср) 11:48

Помню, был вроде здесь топик про вывод списка шрифтов системы. Но, к сожалению поиск не работает, а очень хочется увидеть подобный пример. Буду признателен за помощь.

P.S.
И сразу, чтобы не создавать новый топик, спрошу, как можно нарисовать необходимый текст, нужным шрифтом, нужного размера, на нужном мне месте, то бишь форме.
(пытаюсь собрать контрол для отображения шрифта, типа как у CorelDRAW)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.08.2003 (Ср) 13:29

У объектов Screen и Printer есть коллекция Fonts. Просто перебери их все и получишь список шрифтов (для экрана или для принтера, смотря что тебе надо). Но это медленно и тебе никак не узнать, что это именно за фонт.
Лучше используй API EnumFonts, это гораздо (в десятки раз) быстрее.
А для рисования тебе тоже подойдет API, например TextOut.
Lasciate ogni speranza, voi ch'entrate.

Urvin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 518
Зарегистрирован: 04.06.2003 (Ср) 10:47
Откуда: с Марса

Сообщение Urvin » 06.08.2003 (Ср) 14:01

Код: Выделить всё
iNumFonts = Screen.Fontcount - 1
for i = 0 to iNumFonts
    FontItem(i) = Screen.Fonts(i)
next i

А у принтера могут быть совсем другие шрифты
Не так страшен русский танк, как его пьяный экипаж

Urvin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 518
Зарегистрирован: 04.06.2003 (Ср) 10:47
Откуда: с Марса

Сообщение Urvin » 06.08.2003 (Ср) 14:03

На З.Ы.:
form1.print "Hello, world!"
Не так страшен русский танк, как его пьяный экипаж

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 07.08.2003 (Чт) 17:52

Спасибо за ответы :wink:

С помощью EnumFonts и обычного Label удалось решить эту проблему достаточно легко. Результат прилагается.
Осталось только решить проблему повторяющихся значений в списке.
У меня, например, несколько раз загрузил Arial Cyr. Надо будет поковырять LOGFONT...
Вложения
FontList.zip
Вариант отображения примера шрифта.
(4.53 Кб) Скачиваний: 73

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.08.2003 (Пт) 9:24

Лучше поковыряй EnumFontFamilies(Ex) :)
Lasciate ogni speranza, voi ch'entrate.


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

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

Сейчас этот форум просматривают: PetalBot, Yandex-бот и гости: 4

    TopList