Войти

Показать полную графическую версию : [решено] Использование сторонних шрифтов


sashadeg
14-05-2009, 16:21
Не получается использовать шрифт "visitor"
Уже по всякому пробывал... И прописывал "visitor" и название которое в папке "Шрифты" ... ничего..
Даёте пожалуйста пример с этим шрифтом...
___Вот шрифт___ (http://depositfiles.com/files/t1tjdqtpa)

Yashied
14-05-2009, 17:11
Не получается использовать шрифт "visitor"
Уже по всякому пробывал... И прописывал "visitor" и название которое в папке "Шрифты" ... ничего..
Даёте пожалуйста пример с этим шрифтом... »


Вот смотри. Работает без установки в WINDOWS\Fonts.

#Include <SendMessage.au3>

_WinAPI_AddFontResource('visitor.ttf')

GUICreate('Test', 300, 100)
$Label = GUICtrlCreateLabel('Visitor TT2 BRK', 10, 34, 280, 80, 0x01)
GUICtrlSetFont(-1, 30, 400, 0, 'Visitor TT2 BRK')
GUISetState()

do
until GUIGetMsg() = -3

_WinAPI_RemoveFontResource('visitor.ttf')

func _WinAPI_AddFontResource($sFont)

local $Ret = DllCall('gdi32.dll', 'int', 'AddFontResource', 'str', $sFont)

if (@error) or ($Ret[0] = 0) then
return SetError(1, 0, 0)
endif
_SendMessage(0xFFFF, 0x001D, 0, 0)
return SetError(0, 0, $Ret[0])
endfunc; _WinAPI_AddFontResource

func _WinAPI_RemoveFontResource($sFont)

local $Ret = DllCall('gdi32.dll', 'int', 'RemoveFontResource', 'str', $sFont)

if (@error) or ($Ret[0] = 0) then
return SetError(1, 0, 0)
endif
_SendMessage(0xFFFF, 0x001D, 0, 0)
return SetError(0, 0, $Ret[0])
endfunc; _WinAPI_RemoveFontResource

Creat0R
14-05-2009, 17:25
Yashied, Хоршие функции, только можно подробнее о «_SendMessage(0xFFFF, 0x001D, 0, 0)»? Что за сообщение, и откуда хендл?

Yashied
14-05-2009, 17:55
$WM_FONTCHANGE = 0x001D
$HWND_BROADCAST = 0xFFFF

_SendMessage(0xFFFF, 0x001D, 0, 0) отправляет сообщение об установке шрифта (WM_FONTCHANGE) всем окнам верхнего уровня (HWND_BROADCAST).

Creat0R
15-05-2009, 15:30
Последние сообщения отвёл в отдельную тему: Обновление проводника Explorer после смены сис. параметров (http://forum.oszone.net/thread-140212.html)




© OSzone.net 2001-2012