Starcom Posted July 29, 2007 Posted July 29, 2007 (edited) Hi, I have made some test using the vertical scroll text fond on this forum but I can't found how to write a text with a transparent background scrolling on a picture... I've tested many style and extended style on th label but the result is some weirds effects like a scroll of a part of the screen... Here is my actual script: #include <GUIConstants.au3> Opt("GUIOnEventMode", 0) $AboutGUI = GUICreate("About", 436, 251, -1, -1, $WS_POPUP) WinSetOnTop("About", "", 1) GUISetBkColor(0xFFFFFF) GUICtrlCreatePic(@ScriptDir & "\about.gif", 0, 0, 436, 251) GUICtrlSetState(-1, $GUI_DISABLE) $close = GUICtrlCreateButton(" Ok! ", 380, 75, 35, 22) $win = WinGetPos("About") $child = GUICreate("About scroller", 325, 115, $win[0]+110, $win[1]+125, $WS_POPUP, $WS_EX_TRANSPARENT, $AboutGUI) GUISetBkColor(0xFFFFFF) $AboutLabel = GUICtrlCreateLabel("This is a test"&@CRLF&"Background is solid and the picture is masked..."&@CRLF&"I don't found how to put a transparent background. All my tries"&@CRLF&"with back color settings for the label gives amazing effects like a picture scroll"&@CRLF&"in a part of the screen...."&@CRLF&@CRLF&@CRLF, 1, -80, 320, 355, BitOr($SS_NOTIFY, $SS_RIGHT)) GUISetState(@SW_SHOW, $AboutGUI) GUISetState(@SW_SHOW, $child) While 1 For $i = -105 to 380 $msg = GUIGetMsg() ControlMove("About scroller", "", $AboutLabel, 1, 30-$i) If $msg = $close Then Opt("GUIOnEventMode", 1) GUIDelete($AboutGUI) Exit EndIf sleep(50) Next WEnd Edited August 2, 2007 by Starcom
Zedna Posted July 29, 2007 Posted July 29, 2007 Search is your friend. Resources UDF ResourcesEx UDF AutoIt Forum Search
Starcom Posted July 30, 2007 Author Posted July 30, 2007 Thanks but I've already try these examples... Sure I will try again. But at this time, I haven't found any solution for my problem. Here is my more amazing try which scroll a part of the picture in a part of the screen then it scroll the "Ok" button #include <GUIConstants.au3> Opt("GUIOnEventMode", 0) $AboutGUI = GUICreate("About", 436, 251, -1, -1, $WS_POPUP) WinSetOnTop("About", "", 1) GUICtrlSetState(Default, $GUI_DISABLE) GUICtrlCreatePic(@ScriptDir & "\about.gif", 0, 0, 436, 251) GUICtrlSetState(-1, $GUI_DISABLE) $close = GUICtrlCreateButton(" Ok! ", 380, 75, 35, 22) $win = WinGetPos("About") $child = GUICreate("About scroller", 325, 115, $win[0]+110, $win[1]+125, $WS_POPUP, $WS_EX_TRANSPARENT, $AboutGUI) $AboutLabel = GUICtrlCreateLabel("This is a test"&@CRLF&"Background is solid and the picture is masked..."&@CRLF&"I don't found how to put a transparent background. All my tries"&@CRLF&"with back color settings for the label gives amazing effects like a picture scroll"&@CRLF&"in a part of the screen...."&@CRLF&@CRLF&@CRLF, 1, -80, 320, 355, BitOr($SS_NOTIFY, $SS_RIGHT, $GUI_BKCOLOR_TRANSPARENT)) GUISetState(@SW_SHOW, $AboutGUI) GUISetState(@SW_SHOW, $child) GUICtrlSetState(Default, $GUI_BKCOLOR_TRANSPARENT) While 1 For $i = -105 to 380 $msg = GUIGetMsg() ControlMove("About scroller", "", $AboutLabel, 1, 30-$i) If $msg = $close Then Opt("GUIOnEventMode", 1) GUIDelete($AboutGUI) Exit EndIf sleep(50) Next WEnd
Starcom Posted July 30, 2007 Author Posted July 30, 2007 It seems the reason of the problem is the ControlMove function wich force a solid background.
mikehunt114 Posted August 1, 2007 Posted August 1, 2007 (edited) There must be a better way to do it than this: #include <GUIConstants.au3> Opt("GUIOnEventMode", 1) HotKeySet("{Esc}","Quit") Global $text = "Transparent vertical" & @CR & "scrolling text example" & @CR & "coded by mikehunt114" $testGUI = GUICreate("Transparent Vertical Scrolling Text", 400, 400) GUISetBkColor(0xFFFFFF, $testGUI) GUISetOnEvent($GUI_EVENT_CLOSE, "Quit") $label1 = GUICtrlCreateLabel($text, 10, 250, 147, 50) $hideLabel1 = GUICtrlCreateLabel("", 10, 250, 150, 55) $hideLabel2 = GUICtrlCreateLabel("", 10, 90, 150, 70) GUICtrlSetBkColor($label1, $GUI_BKCOLOR_TRANSPARENT) GUICtrlSetBkColor($hideLabel1, 0xFFFFFF) GUICtrlSetBkColor($hideLabel2, 0xFFFFFF) GUISetState(@SW_SHOW, $testGUI) While 1 For $i = 250 To -50 Step -1 GUICtrlSetPos($label1, 10, $i) Sleep(40) Next WEnd Func Quit() Exit 0 EndFunc Edited August 1, 2007 by mikehunt114 IE Dev ToolbarMSDN: InternetExplorer ObjectMSDN: HTML/DHTML Reference Guide[quote]It is surprising what a man can do when he has to, and how little most men will do when they don't have to. - Walter Linn[/quote]--------------------[font="Franklin Gothic Medium"]Post a reproducer with less than 100 lines of code.[/font]
Starcom Posted August 2, 2007 Author Posted August 2, 2007 Fantastic !!! You rocks !! really... I will look how you did that and what I did wrong. Thanks
mikehunt114 Posted August 2, 2007 Posted August 2, 2007 It's a bit choppy, there's probably a better way to draw it, maybe someone else can one-up me. IE Dev ToolbarMSDN: InternetExplorer ObjectMSDN: HTML/DHTML Reference Guide[quote]It is surprising what a man can do when he has to, and how little most men will do when they don't have to. - Walter Linn[/quote]--------------------[font="Franklin Gothic Medium"]Post a reproducer with less than 100 lines of code.[/font]
Starcom Posted August 2, 2007 Author Posted August 2, 2007 I can search a better way myself too But you show me one, and confirm to me that it's possible... Thanks again.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now