Что нового

[Элементы GUI] OnScreenDisplay [OSD]

Redline

AutoIT Гуру
Сообщения
506
Репутация
375
Функция должна выводить текст в заданной области экрана (в том числе за пределами окна GUI), с возможностью задания, и последующего изменения размера/имени/цвета шрифта. И главное чтоб за текстом не было фона (в этом отношении мой снимок подкачал :-[ ), иначе это будет обычный SplashTextOn.
...
Нашел на форуме полезную функцию _WinAPI_SetLayeredWindowAttributes и с помощью неё смог таки создать то что хотел :smile: .

Код:
#Include <WindowsConstants.au3>
#Include <WinAPIEx.au3>

$hMain = GUICreate("", 800, 600, -1, -1, $WS_POPUP, $WS_EX_LAYERED)
GUISetBkColor(0xFF0011)
	$hOk = GUICtrlCreateButton("OK", 365, 560, 70, 23)
	$hLabel = GUICtrlCreateLabel("OSD text in work !! (=", 10, 100, 500, 100)
	GUICtrlSetColor($hLabel, 0xFF0000)
	GUICtrlSetFont($hLabel, 32, 800, -1, "Tahoma")

GUISetState(@SW_SHOW, $hMain)

_WinAPI_SetLayeredWindowAttributes($hMain, 0xFF0011, 0, $LWA_COLORKEY)

While 1
    If GUIGetMsg() = $hOk Then Exit
WEnd
 
Верх