sashadeg
14-05-2009, 16:21
Не получается использовать шрифт "visitor"
Уже по всякому пробывал... И прописывал "visitor" и название которое в папке "Шрифты" ... ничего..
Даёте пожалуйста пример с этим шрифтом...
___Вот шрифт___ (http://depositfiles.com/files/t1tjdqtpa)
Не получается использовать шрифт "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
Yashied, Хоршие функции, только можно подробнее о «_SendMessage(0xFFFF, 0x001D, 0, 0)»? Что за сообщение, и откуда хендл?
$WM_FONTCHANGE = 0x001D
$HWND_BROADCAST = 0xFFFF
_SendMessage(0xFFFF, 0x001D, 0, 0) отправляет сообщение об установке шрифта (WM_FONTCHANGE) всем окнам верхнего уровня (HWND_BROADCAST).
Последние сообщения отвёл в отдельную тему: Обновление проводника Explorer после смены сис. параметров (http://forum.oszone.net/thread-140212.html)
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.