VixinG Posted May 12, 2012 Share Posted May 12, 2012 (edited) Hey, I completed my 1st application (hurray!).Everything works, but the embedded window is flashing, whenever I delete or create new gui control.Here - this is my aplication, and the embedded IE is on the right:and when I'm changing stations sometimes this happens:- The embedded IE object loses the background and graphics (sometimes only background), and refreshing does not help, but when I change it's alignment from TopMost to standard, and the application will hide beneath other windows, and then again I will set it on top = everything is visible...Can I do something with that?Source:expandcollapse popup;------------------------------------------------------------; ; Rainwave Player ver 1.1 ;------------------------------------------------------------; #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Array.au3> #include <IE.au3> #include 'Icons.au3' #include <Inet.au3> #include 'WinSnap.au3' #include <StaticConstants.au3> #include "Marquee.au3" #include <Timers.au3> ;------------------------------------------------------------; ; Hotkeys ;------------------------------------------------------------; $hotkey1 = IniRead('keys.ini', 'Hotkeys', 'Omniwave', '{F1}') $hotkey2 = IniRead('keys.ini', 'Hotkeys', 'Rainwave', '{F2}') $hotkey3 = IniRead('keys.ini', 'Hotkeys', 'Chiptune', '{F3}') $hotkey4 = IniRead('keys.ini', 'Hotkeys', 'Covers', '{F4}') $hotkey5 = IniRead('keys.ini', 'Hotkeys', 'OCRradio', '{F5}') $topmost = IniRead('keys.ini', 'Hotkeys', 'SetOnTop', '{F6}') HotKeySet($hotkey1, "omniwave") HotKeySet($hotkey2, "rainwave") HotKeySet($hotkey3, "bitwave") HotKeySet($hotkey4, "mixwave") HotKeySet($hotkey5, "ocr_radio") HotKeySet($topmost, "TopMost") HotKeySet("{ESC}", "Quit") ;------------------------------------------------------------; ; Declaring, registering, etc. ;------------------------------------------------------------; Global $SetOnTop = True Global $title = 'Click desired station... and enjoy the music!' Dim $nr[5] = [5, 1, 4, 3, 2] $GUI = GUICreate('Rainwave Player', 580, 37, 0, 0, $WS_POPUP) $oIE = _IECreateEmbedded() Dim $png1[5] = ['.\art\aa.png', '.\art\bb.png', '.\art\cc.png', '.\art\dd.png', '.\art\ee.png'] Dim $png3[5] = ['.\art\aa.png', '.\art\bb.png', '.\art\cc.png', '.\art\dd.png', '.\art\ee.png'] Dim $png2[5] = ['.\art\aa2.png', '.\art\bb2.png', '.\art\cc2.png', '.\art\dd2.png', '.\art\ee2.png'] Global $dragLabel = GUICtrlCreateLabel('', 1, 1, 110, 33, -1, $GUI_WS_EX_PARENTDRAG) GUICtrlSetBkColor($dragLabel, 0x000000) _GUICtrlMarquee_SetScroll('', 'alternate', 'right', 1, 75) _GUICtrlMarquee_SetDisplay(0, 0xf0ac20, 'black', 8, 'MS Reference Sans Serif') Dim $pics[5] = [GUICtrlCreatePic('', 110, 1, 0, 0), GUICtrlCreatePic('', 154, 1, 0, 0), GUICtrlCreatePic('', 214, 1, 0, 0), GUICtrlCreatePic('', 310, 1, 0, 0), GUICtrlCreatePic('', 390, 1, 0, 0)] Dim $urls[5] = ['http://www.rainwave.tk/player/omniwave.htm', 'http://www.rainwave.tk/player/rainwave.htm', 'http://www.rainwave.tk/player/bitwave.htm', 'http://www.rainwave.tk/player/mixwave.htm', 'http://www.rainwave.tk/player/ocremix.htm'] Local $disable Global $00png = '.\art\00.png' Global $00obj = GUICtrlCreatePic('', 1, 1, 0, 0) _SetImage($00obj, $00png) GUICtrlSetState(-1, $GUI_DISABLE) GUISetBkColor(0x808080, $GUI) _WinSnap_Set($GUI) WinSetOnTop($GUI, "", 1) ;------------------------------------------------------------; ; Script ;------------------------------------------------------------; Local $lastCursor Refresh() Dim $labels[5] = [GUICtrlCreateLabel('', 110, 1, 44, 23), GUICtrlCreateLabel('', 154, 1, 60, 23), GUICtrlCreateLabel('', 214, 1, 96, 23), GUICtrlCreateLabel('', 309, 1, 81, 23), GUICtrlCreateLabel('', 390, 1, 89, 23)] For $i = 0 To 4 Step 1 GUICtrlSetBkColor($labels[$i], $GUI_BKCOLOR_TRANSPARENT) Next Local $highlighted = False GUISetState(@SW_SHOW) $marquee = _GUICtrlMarquee_Create($title, 110, 24, 369, 12, "") $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, 'http://rainwave.tk/player/main.htm', 1) While 1 $msg = GUIGetMsg() If $msg >= 10 And $msg <= 14 Then AdlibRegister("GetName", 10000) ExitLoop EndIf WEnd While 1 $msg = GUIGetMsg() $cursor = GUIGetCursorInfo($GUI) If $cursor[4] >= 10 And $cursor[4] <= 14 Then $x = $cursor[4] - 10 If $cursor[4] = $labels[$x] And $highlighted = False Then _SetImage($pics[$x], $png2[$x]) $highlighted = True $oldx = $x $old = $cursor[4] EndIf If $highlighted = True And $cursor[4] <> $old Then _SetImage($pics[$oldx], $png1[$oldx]) $highlighted = False EndIf If $msg >= 10 And $msg <= 14 Then $png1 = $png3 $a = $msg - 10 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[$a], 0) _SetImage($pics[$x], $png2[$x]) $png1[$x] = $png2[$x] $x2 = $x $msg2 = $msg Refresh() GetName() EndIf If $msg >= 10 And $msg <= 14 And $msg <> $msg2 Then $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[$a]) $png1[$x] = $png3[$x] _SetImage($pics[$x2], $png1[$x2]) _SetImage($pics[$x], $png2[$x]) $png1[$x] = $png2[$x] $x2 = $x $msg2 = $msg Refresh() GetName() EndIf EndIf If $cursor[4] = 0 And $highlighted = True Then Refresh() EndIf WEnd Exit ;------------------------------------------------------------; ; Functions ;------------------------------------------------------------; Func Refresh() For $i = 0 To 4 Step 1 _SetImage($pics[$i], $png1[$i]) GUICtrlSetState($pics[$i], $GUI_DISABLE) $highlighted = False Next EndFunc ;==>Refresh Func TopMost() If $SetOnTop = True Then WinSetOnTop($GUI, "", 0) $SetOnTop = False Else WinSetOnTop($GUI, "", 1) $SetOnTop = True EndIf EndFunc ;==>TopMost Func omniwave() $x = 0 $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[0], 0) _SetImage($pics[0], $png2[0]) $png1[0] = $png2[0] Refresh() GetName() EndFunc ;==>omniwave Func rainwave() $x = 1 $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[1], 0) _SetImage($pics[1], $png2[1]) $png1[1] = $png2[1] Refresh() GetName() EndFunc ;==>rainwave Func bitwave() $x = 2 $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[2], 0) _SetImage($pics[2], $png2[2]) $png1[2] = $png2[2] Refresh() GetName() EndFunc ;==>bitwave Func mixwave() $x = 3 $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[3], 0) _SetImage($pics[3], $png2[3]) $png1[3] = $png2[3] Refresh() GetName() EndFunc ;==>mixwave Func ocr_radio() $x = 4 $png1 = $png3 GUICtrlDelete($eIE) $eIE = GUICtrlCreateObj($oIE, 480, -10, 150, 50) _IENavigate($oIE, $urls[4], 0) _SetImage($pics[4], $png2[4]) $png1[4] = $png2[4] Refresh() GetName() EndFunc ;==>ocr_radio Func Quit() Exit EndFunc ;==>Quit Func GetName() $fullsource = _INetGetSource('http://rainwave.cc/async/' & $nr[$x2] & '/get', True) $start = StringInStr($fullsource, 'sched_current') + 300 $source = StringMid($fullsource, $start, 300) $start = StringInStr($source, 'song_title": "') + 14 $stop = StringInStr($source, '", "artists') $length = $stop - $start $title = StringMid($source, $start, $length) $start = StringInStr($fullsource, 'sched_current') + 300 $source = StringMid($fullsource, $start, 750) $start = StringInStr($source, 'album_name": "') $source = StringMid($source, $start) $start = StringInStr($source, 'album_name": "') + 14 $stop = StringInStr($source, '", "') $length = $stop - $start $album = StringMid($source, $start, $length) $title = $title & ' - ' & $album $sample = _GUICtrlMarquee_Create($title, 110, 24, 369, 12, "") GUICtrlDelete($marquee) $marquee = _GUICtrlMarquee_Create($title, 110, 24, 369, 12, "") GUICtrlDelete($sample) EndFunc ;==>GetNameHere is the application with required files (0.98 MB):http://rainwave.tk/player/Rainwave%20Player%201.1.rarbtw Melba23: thanks for Marquee.au3!Any ideas? I found solution I embedded the shockwave flash object and problem is gone:Func ObjectX() GUICtrlDelete($oRP) GUICtrlDelete($GUIActiveX) $oRP = ObjCreate("ShockwaveFlash.ShockwaveFlash.1") $GUIActiveX = GUICtrlCreateObj( $oRP, 490, 8 , 80 , 20 ) $LinkoRP = ObjEvent($oRP,"IEEvent_","Preview"); this is a dummy event handle With $oRP; Object tag pool .Movie = 'http://www.rainwave.tk/player/ffmp3-config.swf'; the wave file from inet / could be on disk .flashvars = 'url='&$var&'&codec=mp3&volume=75&introurl=&autoplay=true&tracking=false&jsevents=true&buffering=5&skin=ffmp3-rainwave.xml&title=OCRemix' .bgcolor = "#000000"; change background color to white FFFFFF .wmode = "Opaque"; Opaque / transparent .allowscriptaccess = 'always' .scale = 'noscale' EndWith EndFuncThanks! Edited May 12, 2012 by VixinG [indent=3][/indent] Link to comment Share on other sites More sharing options...
Belini Posted May 12, 2012 Share Posted May 12, 2012 It looks good and could be posted in Example Scripts. My Codes: Virtual Key Code UDF: http://www.autoitscript.com/forum/topic/138246-virtual-key-code-udf/ GuiSplashTextOn.au3: http://www.autoitscript.com/forum/topic/143542-guisplashtexton-udf/ Menu versions of Autoit: http://www.autoitscript.com/forum/topic/137435-menu-versions-of-autoit/#entry962011 Selects first folder of letters: ]http://www.autoitscript.com/forum/topic/144780-select-folders-by-letter/#entry1021708/spoiler] List files and folders with long addresses.: http://www.autoitscript.com/forum/topic/144910-list-files-and-folders-with-long-addresses/#entry102 2926 Program JUKEBOX made in Autoit:some functions:http://www.youtube.com/watch?v=WJ2tC2fD5Qs Navigation to search:http://www.youtube.com/watch?v=lblwOFIbgtQ Link to comment Share on other sites More sharing options...
VixinG Posted May 13, 2012 Author Share Posted May 13, 2012 It looks good and could be posted in Example Scripts.It is already posted by kjactive here: [indent=3][/indent] Link to comment Share on other sites More sharing options...
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