#include <GDIPlus.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include "LEDTXT.au3"

HotKeySet("{ESC}", "_Exit")

_GDIPlus_Startup()

$hGuiTrans = GUICreate("Test", @DesktopWidth, 300, 0, 0, $WS_POPUP, BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED))
GUISetBkColor(0xABCDEF)
_WinAPI_SetLayeredWindowAttributes($hGuiTrans, 0xABCDEF)
GUISetState()
$hGui = GUICreate("Test", @DesktopWidth, 400, 0, 300, Default, $WS_EX_TOPMOST)
WinSetTrans($hGui, "", 255)
GUISetState()

$aLed1 = _LEDTXT_Create_Gdi($hGuiTrans, "LED-Laufschrift 1", 0, 0, @DesktopWidth, 50, 0, 2, 2, 0xFFFFAA00, 0xFF000000, 0xAA111122, 0xAA000000, 0, 0, 0, "Courier New", 40, 1)
$aLed2 = _LEDTXT_Create_GdiPlus($hGuiTrans, "LED-Laufschrift 2", 0, 50, @DesktopWidth, 50, 3, 2, 2, 0, 0xFF0088FF, 0, 0xFF000000, 0, 0, 0, "Arial", 40, 1)
$aLed3 = _LEDTXT_Create_Gdi($hGuiTrans, "LED-Laufschrift 3", 0, 100, @DesktopWidth, 100, 1, 4, 4, 0xFFFF0000, 0xFF000000, 0, 0, 0xFFABCDEF, 1, 1, "Times New Roman", 80, 1)
$aLed4 = _LEDTXT_Create_Gdi($hGuiTrans, "LED-Laufschrift 4", 0, 200, @DesktopWidth, 100, 1, 4, 4, 0xFF00FF00, 0xFF000000, 0xFFABCDEF, 0xFFABCDEF, 0xFFABCDEF, 0, 0, "Arial", 80, 1)
$aLed5 = _LEDTXT_Create_GdiPlus($hGui, "LED-Laufschrift 5", 0, 0, @DesktopWidth, 350, 0, 14, 14, 0xFF00FF00, 0xFF000000, 0x44111119, 0x44000000, 0x44000000, 0, 0, "Arial", 410, 1, -60)

GUIRegisterMsg($WM_ERASEBKGND, "_WM_ERASEBKGND")

While 1
	_LEDTXT_Step($aLed1, 1)
	_LEDTXT_Step($aLed2, -1)
	_LEDTXT_Step($aLed3, 1)
	_LEDTXT_Step($aLed4, -1)
	_LEDTXT_Step($aLed5, 1)
	_WinAPI_RedrawWindow($hGuiTrans, 0, 0, 5)
	_WinAPI_RedrawWindow($hGui, 0, 0, 5)
	Sleep(10)
WEnd

Func _WM_ERASEBKGND($hWnd, $Msg, $wParam, $lParam)
	Switch $hWnd
		Case $hGuiTrans
			_LEDTXT_Draw($aLed1)
			_LEDTXT_Draw($aLed2)
			_LEDTXT_Draw($aLed3)
			_LEDTXT_Draw($aLed4)
		Case $hGui
			_LEDTXT_Draw($aLed5)
	EndSwitch
	Return True
EndFunc   ;==>_WM_ERASEBKGND


Func _Exit()
	_LEDTXT_Destroy($aLed1)
	_LEDTXT_Destroy($aLed2)
	_LEDTXT_Destroy($aLed3)
	_GDIPlus_Shutdown()
	Exit
EndFunc   ;==>_Exit
