Шрифт из файла ресурсов в GDI+

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

Шрифт из файла ресурсов в GDI+

Сообщение alexmckey » 30.04.2012 (Пн) 15:41

Здравствуйте ВСЕ
Помогите пожалуйста с решением следующей прблемы
в проекте есть файл ресурсов с шрифтом "Myfont"
Код: Выделить всё
dim fp as string:fp = App.path & "\mf.ttf"
Dim ByteData() As Byte: ByteData = LoadResData(101, "CUSTOM")
Open fp For Binary Access Write As #1
Put #1, 1, ByteData
Close #1
AddFontResource fp

вопрос: как использовать шрифт "Myfont" в функциях GDI+
например
Код: Выделить всё
Public Declare Function GdipAddPathString Lib "gdiplus" (ByVal path As Long, ByVal str As String, ByVal length As Long, ByVal family As Long, ByVal style As Long, ByVal emSize As Single, layoutRect As RECTF, ByVal StringFormat As Long) As GpStatus

где взять family
mckey

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Шрифт из файла ресурсов в GDI+

Сообщение VBTerminator » 01.05.2012 (Вт) 18:38

Сначала зарегестрируй шрифт функцией AddFontMemResourceEx, после этого в GdipAddPathString используешь его имя.

Кстати, AddFontMemResourceEx регистрирует шрифт не в реестре, а только для текущего запуска твоего приложения.

alexmckey
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 25.04.2005 (Пн) 17:35

Re: Шрифт из файла ресурсов в GDI+

Сообщение alexmckey » 01.05.2012 (Вт) 20:00

VBTerminator,спасибо,что откликнулся.
Эту функцию я пытался использовать, но уменя не получилось.
Посмотри пожалуйста,что не так
Код: Выделить всё
Private Declare Function AddFontMemResourceEx Lib "gdi32.dll" (ByRef pvoid As Any, ByVal dword As Long, ByRef DESIGNVECTOR, ByRef pDword As Long) As Long
Private Declare Function RemoveFontMemResourceEx Lib "gdi32.dll" (ByVal handle As Long) As Long

Private Sub Form_Load()
Dim ByteData() As Byte: ByteData = LoadResData(101, "CUSTOM")
Dim siz As Long: siz = UBound(ByteData)
Dim nFonts As Long
Dim m_fonthandle As Long
m_fonthandle = AddFontMemResourceEx(ByteData(0), siz, 0, nFonts)
'        data,      // font resource
'        len,       // number of bytes in font resource
'        NULL,      // Reserved. Must be 0.
'        &nFonts    // number of fonts installed

End Sub

m_fonthandle возвращает 0
mckey

alexmckey
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 25.04.2005 (Пн) 17:35

Re: Шрифт из файла ресурсов в GDI+

Сообщение alexmckey » 01.05.2012 (Вт) 20:20

разобрался,спасибо
Код: Выделить всё
Dim siz As Long: siz = UBound(ByteData)+1
mckey

alexmckey
Новичок
Новичок
 
Сообщения: 42
Зарегистрирован: 25.04.2005 (Пн) 17:35

Re: Шрифт из файла ресурсов в GDI+

Сообщение alexmckey » 02.05.2012 (Ср) 0:48

И снова здравствуйте
Не получается с загруженным шрифтом создать fontfamily
Посоветуйте что-нибудь,пожалуйста
Вложения
font.rar
(23.85 Кб) Скачиваний: 89
mckey


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

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

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

    TopList