Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Использование сторонних шрифтов (http://forum.oszone.net/showthread.php?t=140114)

sashadeg 14-05-2009 16:21 1118390

Использование сторонних шрифтов
 
Не получается использовать шрифт "visitor"
Уже по всякому пробЫвал... И прописывал "visitor" и название которое в папке "Шрифты" ... ничего..
Даёте пожалуйста пример с этим шрифтом...
___Вот шрифт___

Yashied 14-05-2009 17:11 1118444

Цитата:

Цитата sashadeg
Не получается использовать шрифт "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 1118460

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

Yashied 14-05-2009 17:55 1118480

$WM_FONTCHANGE = 0x001D
$HWND_BROADCAST = 0xFFFF

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

Creat0R 15-05-2009 15:30 1119226

Последние сообщения отвёл в отдельную тему: Обновление проводника Explorer после смены сис. параметров


Время: 01:19.

Время: 01:19.
© OSzone.net 2001-