Sign in to follow this  
Followers 0
PartyPooper

SplashText with color

1 post in this topic

This is just a quick and nasty proof of concept that I experimented with but unfortunately I haven't really got time to improve so feel free to post up changes. The SplashTextOn options should all work as well (ie. 1 = Thin bordered titleless window etc) and using a while loop gives you flashing text (albeit not exactly regular).

That said, it's probably just simpler to create your own GUI. In any case, thought I'd share so those who want to experiment can.

#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>

Global $tRECT, $hFont, $hOldFont, $hDC

HotKeySet("{ESC}", "_Exit")

$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", -20)
DllStructSetData($tRECT, "Top", 0)
$iWidth = DllStructSetData($tRECT, "Right", 250)
$iHeight = DllStructSetData($tRECT, "Bottom", 50)
$sTitle = "AutoIt"
$sText = " IT WORKS! "

$hDC = _WinAPI_GetDC(SplashTextOn($sTitle,"", $iWidth-20, $iHeight, -1, -1, 16))
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
        $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)

_WinAPI_SetTextColor($hDC, 0x0000FF)
_WinAPI_SetBkColor($hDC, 0x000000)
; comment next line to get black background instead of transparent one
;_WinAPI_SetBkMode($hDC, $TRANSPARENT)
; comment next line and uncomment the one in the while loop to get flashing text (must use a background color to work)
_WinAPI_DrawText($hDC, $sText, $tRECT, $DT_CENTER)
While 1
    ;_WinAPI_DrawText($hDC, $sText, $tRECT, $DT_CENTER)
    Sleep(500)
WEnd

Func _Exit()
    _WinAPI_SelectObject($hDC, $hOldFont)
    _WinAPI_DeleteObject($hFont)
    _WinAPI_ReleaseDC(0, $hDC)
    _WinAPI_InvalidateRect(0, 0)
    $tRECT = 0
    Exit
EndFunc   ;==>_Exit

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0