PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как программно установить шрифт в систему?


Как программно установить шрифт в систему?

Сообщений 1 страница 6 из 6

1

Собственно вопрос озвучен в заголовке темы. Добавлю только что у меня windows7
Попробовал так, не выходит:

Код:
AddFontResource_("files\Isabella-Decor.ttf")
SendMessage_(#HWND_BROADCAST,#WM_FONTCHANGE,0,0)

0

2

Выкладывали на сайте такой вариант кода, но он не всегда работает (в семёрке - нет)

Код:
Enumeration 
#IncludeFile     
EndEnumeration


Procedure CreateIncludeFile(Name.s, *StartFile, *EndFile) 
  If CreateFile(#IncludeFile, Name) 
    WriteData(#IncludeFile,*StartFile, *EndFile - *StartFile) 
    CloseFile(#IncludeFile) 
    ProcedureReturn #True 
  EndIf 
  ProcedureReturn #False 
EndProcedure 


If CreateIncludeFile(GetWindowsDirectory() + "\FONTS\andlso.TTF", ?StartFont2, ?EndFont2)
 AddFontResource_(GetWindowsDirectory() + "\andlso.TTF")   
EndIf

DataSection 
 StartFont2: 
  IncludeBinary "andlso.TTF" 
 EndFont2:
EndDataSection

0

3

Как в семёрке - тоже интересно... Этот не работает...

0

4

У меня на Windows 7 x64 работает такой код:

Код:
; Компилятор : Pure Basic 4.50
If(OpenLibrary(0, "GDI32.DLL"))
CallFunction(0, "AddFontMemResourceEx", ?fs, (?fe -?fs), 0, @i +1) : CloseLibrary(0)
Else : MessageRequester("E.R.R.O.R.","font problem...") : End : EndIf


OpenWindow(0, 0, 0, 400, 200, "T.E.S.T.",#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))

LoadFont(1, "Karnac Two", 16):SetGadgetFont(#PB_Default, FontID(1))
TextGadget(0, 10, 50, 400, 40,"Тест, TEST -- WORKS? YES.")

Repeat : Delay(5) : Until(WaitWindowEvent() = #WM_CLOSE)

DataSection
fs:
IncludeBinary("F:\Karnac Two.ttf")
fe:
EndDataSection

;Спасибо буржуям!

0

5

Отлично работает...

0

6

mosqh написал(а):

;Спасибо буржуям!

Присоединяюсь, а так же спасибо тебе!

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Как программно установить шрифт в систему?