Moderators big_daddy Posted February 1, 2012 Moderators Share Posted February 1, 2012 (edited) I'm working on a new project and I need help with the GUI code.Project Details:I rely on iTunes song ratings for managing my iPhone/iPod library. My iTunes library is too large to sync to a mobile device so I only sync my favorite songs. This obviously requires the songs to be rated. I've been rating the songs in my library for a couple years, but I'm still only a quarter of the way through. The biggest problem is that I get busy and forget to rate the songs as they are playing. I searched the web for a solution and found this. It monitors your playing tracks and if the current track is not rated it prompts you to rate it. Unfortunately it is only for OS X.I downloaded the latest iTunes COM documentation and started writing code. I've written most of the core code, but I fail when it comes to building GUIs. I do not like the dropdown style rating used by the Rate Me! Rate Me! script. I'd prefer a control where you could click any star to change the rating. I've created transparent images for each; 0, 1, 2, 3, 4, and 5 stars.The album art will either be in JPG, PNG, or BMP format.This is a Photoshop example of the GUI with no rating:This is a Photoshop example of the GUI with 5 star rating:Anyone interested in helping? Edited February 1, 2012 by big_daddy Link to comment Share on other sites More sharing options...
lesolutionneur Posted February 1, 2012 Share Posted February 1, 2012 Create image buttons: so can you pick your actual buttons and put it. For the background, I would not say it's the good way to do but you can just display the image in a blank window and put the albumart on it and the stars etc... Link to comment Share on other sites More sharing options...
Mikeman27294 Posted February 2, 2012 Share Posted February 2, 2012 Rather than image buttons, you could just skin your GUI.Take a look at the following:You can change the skin for your GUI. It might not be exactly what you are looking for, but you might find something similar. Link to comment Share on other sites More sharing options...
Guest Posted February 2, 2012 Share Posted February 2, 2012 (edited) Here is what i came up with, hope it helps. Required Udfs:#include <Icons.au3>#include <GUICtrlOnHover.au3> Edited February 2, 2012 by Guest Link to comment Share on other sites More sharing options...
UEZ Posted February 2, 2012 Share Posted February 2, 2012 (edited) Here my version: expandcollapse popup;code by UEZ 2012 #include <gdiplus.au3> #include <guiconstantsex.au3> #include <memory.au3> _GDIPlus_Startup() Global Const $IMAGE_BITMAP = 0 Global Const $STM_SETIMAGE = 0x0172 Global Const $hGUI = GUICreate("VOTE", 258, 58) GUISetBkColor(0xF0F0F0, $hGUI) Global Const $idBgPic = GUICtrlCreatePic("", 16, 16, 131, 29) GUICtrlSetState(-1, $GUI_DISABLE) Global Const $idButton = GUICtrlCreateButton("Vote", 168, 16, 75, 25) Global Const $Bmp_Rating = Load_BMP_From_Mem(_RatingPic(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idBgPic, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Rating)) Global Const $Bmp_RatingStarOff = Load_BMP_From_Mem(_RatingStarOff(), True) Global Const $Bmp_RatingStar = Load_BMP_From_Mem(_RatingStar(), True) Global $aIDRatingStar[6], $i, $j = 0 For $i = 0 To UBound($aIDRatingStar) - 1 $aIDRatingStar[$i] = GUICtrlCreatePic("", $j, 21, 17, 17) $j += 24 Next GUISetState(@SW_SHOW) Global $nMsg, $aCtrl, $stars = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _WinAPI_DeleteObject($Bmp_Rating) _WinAPI_DeleteObject($Bmp_RatingStar) _WinAPI_DeleteObject($Bmp_RatingStarOff) _GDIPlus_Shutdown() Exit Case $idButton MsgBox(0, "VOTE", "You have voted with " & $stars & " stars") EndSwitch $aCtrl = GUIGetCursorInfo($hGUI) Switch $aCtrl[4] Case $aIDRatingStar[0] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) $stars = 0 Case $aIDRatingStar[1] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) $stars = 1 Case $aIDRatingStar[2] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) $stars = 2 Case $aIDRatingStar[3] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) $stars = 3 Case $aIDRatingStar[4] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) $stars = 4 Case $aIDRatingStar[5] _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) $stars = 5 EndSwitch If $aCtrl[2] Then MsgBox(0, "VOTE", "You have voted with " & $stars & " stars") WEnd ;====================================================================================== ; Function Name: Load_BMP_From_Mem ; Description: Loads an image which is saved as a binary string and converts it to a bitmap or hbitmap ; ; Parameters: $bImage: the binary string which contains any valid image which is supported by GDI+ ; Optional: $hHBITMAP: if false a bitmap will be created, if true a hbitmap will be created ; ; Remark: hbitmap format is used generally for GUI internal images, $bitmap is more a GDI+ image format ; Don't forget _GDIPlus_Startup() and _GDIPlus_Shutdown() ; ; Requirement(s): GDIPlus.au3, Memory.au3 and _GDIPlus_BitmapCreateDIBFromBitmap() from WinAPIEx.au3 ; Return Value(s): Success: handle to bitmap (GDI+ bitmap format) or hbitmap (WinAPI bitmap format), ; Error: 0 ; Error codes: 1: $bImage is not a binary string ; 2: unable to create stream on HGlobal ; 3: unable to create bitmap from stream ; ; Author(s): UEZ ; Additional Code: thanks to progandy for the MemGlobalAlloc and tVARIANT lines and ; Yashied for _GDIPlus_BitmapCreateDIBFromBitmap() from WinAPIEx.au3 ; Version: v0.97 Build 2012-04-10 Beta ;======================================================================================= Func Load_BMP_From_Mem($bImage, $hHBITMAP = False) If Not IsBinary($bImage) Then Return SetError(1, 0, 0) Local $aResult Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary Local Const $len = BinaryLen($memBitmap) ;get length of image Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002) Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents If @error Then Return SetError(2, 0, 0) Local Const $hStream = $aResult[3] $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface If @error Then Return SetError(3, 0, 0) Local Const $hBitmap = $aResult[2] Local $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr") DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _ "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak $tMem = 0 $tVARIANT = 0 If $hHBITMAP Then Local Const $hHBmp = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndIf Return $hBitmap EndFunc ;==>Load_BMP_From_Mem Func _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) Local $tBIHDR, $Ret, $tData, $pBits, $hResult = 0 $Ret = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0) If (@error) Or ($Ret[0]) Then Return 0 $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $Ret[2], $Ret[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB) $pBits = DllStructGetData($tData, 'Scan0') If Not $pBits Then Return 0 $tBIHDR = DllStructCreate('dword;long;long;ushort;ushort;dword;dword;long;long;dword;dword') DllStructSetData($tBIHDR, 1, DllStructGetSize($tBIHDR)) DllStructSetData($tBIHDR, 2, $Ret[2]) DllStructSetData($tBIHDR, 3, $Ret[3]) DllStructSetData($tBIHDR, 4, 1) DllStructSetData($tBIHDR, 5, 32) DllStructSetData($tBIHDR, 6, 0) $hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0) If (Not @error) And ($hResult[0]) Then DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $Ret[2] * $Ret[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0')) $hResult = $hResult[0] Else $hResult = 0 EndIf _GDIPlus_BitmapUnlockBits($hBitmap, $tData) Return $hResult EndFunc ;==>_GDIPlus_BitmapCreateDIBFromBitmap ;Code was generated by: File to Base64 String Code Generator Func _RatingPic() Local $Rating $Rating &= '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' $Rating &= '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' $Rating &= 'Xbvmo6Pr+uHhYT6fj8fj/PAKMTAUCj1+/Pj8+fPhcFgURemTTz6Bwn/++ef5+XmKBjSJ9Dzv4ODgnXfe0TTt5OQEyQdJzzCMVCq1t7fX09PDU0v3UBrb7+7u3rp1S9f1Wq2G7AJShmGMjY1ls9lYLOZrpHmfSI3O3t7ezZs30Z1iVobkCTq7u7vJZJI0wRXAg5UgCNls9tatW5qmVatVy7IglGmasVgslUrt7u729vZyNyJm+FEVLJX4QbZDLgE+u7u7PT09XCJBEMLhcLFYzGQyly9fTiaT0Zv3hGw2a5pmPp9/8uSJpmn37t1rNpuUOZFYFEWRZdk0TXSeZBSqqiqKghE33vi6UD7nUFVVVVVBEDDYIddGJQY6p15d4GU+al9Edizm26mqitDko0NrQIe6E1VVcWTC6cBgg8Eg+KHTLapoQIG6E+QVlCS+wyiwipYZi/E3GAxGIpFPP/10dnb2lVdeiUajxtv/EErDE/XHDxuNxu7u7vLy8o0bN6ampur1Oq9KMZp1HAcdAO/+qHDm732HmhTleB/HT/2o/qFvyR27T86pqfQdjOMn2IWrgXjwnTYTYzw5UdPq687IsPgDsYd5JblL92EwxbRQKKQoiqZpn3/+eSQSmZub6+/vDwaD2vU70n9Gk/Y//wPll6qqGIOkUinujL5TOd+JP7o23+H2qWcy3QNBn8D8cObUUECTOB9lXh3xcpNOn/hYm2qK7sMuUgMf6PKLAdTlcGsgxftODHlchd+HQqFQKPTZZ58FAoFXX331zJkz4XBYv3H3jxsFjeVFy7KOj49fvHjx66+/6rr+wQcfYH5CkYoPJ3y3Ongu4ghy7yEByN7/3TUL/pVPx/zaANcQgUgc+qj5AiaZvy+W+t5zj+QicFV131zhlwqIK1mWVVXd29t78OBBX1/f9PT08PCwrut03eZ/3e0wTbNare7v729ubu7s7AwODs7Pz8fj8aGhId8B78uAeCoW3Sj/5SUiLmR3CuFHgafe/OimT6UEr5up+yVl8KPcU/nvjnicArmCbdu5XG5/f//Zs2etVuvixYuTk5N9fX2+W0/++04YRlYqlXw+n8vlisXiyckJZiY82vzl1aA/ee+bkb0kke6LTPznp9L0XabqrgJeRiJfwDzVvP6EVeTtSCSSTCbPnDkzODjY398fi8XC4bDv8pn/DiCUgbEM5t4omXwZ4u/PS95aQ8RWVRUXMnVdD4fDiqIgN/zFbUzog248+G4T/Y3v/0kTVKbjzhlmTafei/0fBVOBk/9cK7YAAAAASUVORK5CYII=' Return Binary(_Base64Decode($Rating)) EndFunc ;==>_Ratingpng Func _RatingStar() Local $RatingStar $RatingStar &= 'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAIAAAC0D9CtAAACq0lEQVR42i3ST2tcZRQH4N85996ZTEy0mYZEQYvGCv4hgguhaF0XP4Ab17rTRUVcudONn6EggrhQpAsrRU1WKrpQLFVqKjXWWpvEtpPJzNw7973v+57zc6Hf4Fk8sn/rwNWFEAIqgBJQ+h/ffbFx+sUIrwyuEIKCQpSkkkZSCIdl0DJhOXfNpU/eSHFemBElXUgCcHcA6iBJB90VSVSMmv/Z2XpwfXznyldkAWtBA5yW3d3M1N3hNDOSYDJm035z7fzGCWl2L0rhGULSPJFiZu6uQqVnowOZ4uYq9WFv9vXaAyiOtnLbQCr3nHPhjv94mulOCqqckkMEvv/L1uowHVs5PhyGu79ug8lhKuKeSYqIbL//7pUL71QSC0iiLyzg5KN4crNaXRmORqOfL+frN5ADTCGUxN7TL70ne3t/56PfZ9++XHEfQFnq8sCOrdxbVlVIuZ5O6lmVPcElVo+sPPcBlx+Wmzf+6vcHvaord15ZnH8PKVC6UGECLUAjmelp8fn8+Llg0oasbTef1rMmSHrqo/na64lBCCCzNJcOmjJiu/5afOLDSbB6NksxqBGxa+bzMJ1Ow4mzTVo1tCic2qlkIE/TWnro7KSZhRCS0x0KZ4leshhC3Lv6zeGdm6IEHXArMhAnB9dv7/4YQ/KYxahumnNM7GggZXLt84WKzjgfnAqbP8TeqQwrK452Lrh7LtyIRFegFBRQwo2HF/uLmA/fDic/nsX7w2Of1sffWlyC3f4MSnTuHpPFkkyZCrP27m9Lvaib58PyC8247qztlf3l9Td18MzSrVfbg6ty34YYRVTdARcUZZz8uX7my2bh2fF41LR1alPT1uPJUTc4vXZmux7tlsX/teWnS5dLdVHt9e9RFDHVOYMArZOiL2ql9nu90j2HmGiuqv8CfN39ER5WsGgAAAAASUVORK5CYII=' Return Binary(_Base64Decode($RatingStar)) EndFunc ;==>_RatingStarpng Func _RatingStarOff() Local $RatingStarOff $RatingStarOff &= 'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAIAAAC0D9CtAAACOUlEQVR42lVTvU7zQBDc3bNjmTiEAEUoUJqQNgiJJmUegvejTZUXoKdC/JNgCUVCWEBQIstgmdze3ldsFPFddX8zOzezh1mWIaJzjogQ0XtvjGHmy8vLwWDgvUdEAAAA55wxxntPAKAH3nsAEBFrLTOPRiNm1k3vvYgQkS7J/xnMrOC7u7u9vb3r62tl2dTRQSKy2fXeq8jn5+d2u/3y8qJcepWZ9eYaIyKqBBHLslwsFvv7+/P5/Pf3VwEAsHkwqSQFiIhz7v7+vtFoJEmSJMlkMtlIAAB9Kp6fn4/HYxFRjiiKDg8Pj46OWq3WYrFI0/T19dVau7Hq7OwM397elsvlxcWFtRYRiaherydJEgQBMxdFUZYlMwNAHMfD4bDZbOJsNtva2gKAq6urPM81gbVuIq0vIjs7OycnJ8xcVRWmaWqMiaKoXq9Pp9PZbBYEAQD8jbLT6fR6ve/v77IsAYCstdbasizzPO92uyrPGKMuaT7dbjfP85+fH6VY94G1tqqqp6en+Xyu9ApGxM/PzzRNq6rSPNb56AwAJpNJGIbGmO3t7cFgkCQJEdVqtYeHB03ivzrOORH5+vqK47jdbvf7fefc8fHxwcFBHMfv7+/qh9oTqDOImGVZGIanp6etVmu5XDJzGIadTqfRaHx8fGRZtru7y8xEhLe3tyJijJlOp/1+P47joiiY2TmHiGEYNpvNoigeHx97vZ42Ed7c3OifqdVqRLRarbSPVIbaEEWR9361WllriegfCsrMWSv7x9MAAAAASUVORK5CYII=' Return Binary(_Base64Decode($RatingStarOff)) EndFunc ;==>_RatingStarOff Func _Base64Decode($input_string) Local $struct = DllStructCreate("int") Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode Br, UEZ Edited April 11, 2012 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
Moderators big_daddy Posted February 2, 2012 Author Moderators Share Posted February 2, 2012 @lesolutionneur @Mikeman27294 - It isn't that I don't know how to do it. It would just take me more time than I currently have. @Aipion - It would have made it easier if you'd have included the UDFs in the zip. I haven't tested your code yet for that reason. @UEZ - That is the exact implementation that I was looking for with the rating control. Great work! Would you be able to give an example for using a background image for the GUI and a custom image for a button? Link to comment Share on other sites More sharing options...
Guest Posted February 2, 2012 Share Posted February 2, 2012 Added the Udfs. Link to comment Share on other sites More sharing options...
UEZ Posted February 2, 2012 Share Posted February 2, 2012 (edited) @lesolutionneur @Mikeman27294 - It isn't that I don't know how to do it. It would just take me more time than I currently have.@Aipion - It would have made it easier if you'd have included the UDFs in the zip. I haven't tested your code yet for that reason.@UEZ - That is the exact implementation that I was looking for with the rating control. Great work! Would you be able to give an example for using a background image for the GUI and a custom image for a button?Is this useful?: If not I can make another example.Br,UEZ Edited February 2, 2012 by UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
Moderators big_daddy Posted February 2, 2012 Author Moderators Share Posted February 2, 2012 It is, but I'm having a hard time understanding the following line of code. Care to explain? _WinAPI_DeleteObject(GUICtrlSendMsg($idLogo, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Logo)) Link to comment Share on other sites More sharing options...
UEZ Posted February 2, 2012 Share Posted February 2, 2012 It is, but I'm having a hard time understanding the following line of code. Care to explain? _WinAPI_DeleteObject(GUICtrlSendMsg($idLogo, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Logo)) GUICtrlSendMsg() function sends the image to the appropriate control id and returns a bitmap handle which will be deleted afterwards by _WinAPI_DeleteObject() function to avoid a memory leak. Br, UEZ Please don't send me any personal message and ask for support! I will not reply! Selection of finest graphical examples at Codepen.io The own fart smells best! ✌Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!¯\_(ツ)_/¯ ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ Link to comment Share on other sites More sharing options...
Moderators big_daddy Posted February 2, 2012 Author Moderators Share Posted February 2, 2012 (edited) I've made some headway, but I still have some questions.How do I get rid of the border around the buttons? Made them pictures.How do I allow dragging of the window? Melba23's suggestion worked.expandcollapse popup;code by UEZ 2012 #include <gdiplus.au3> #include <guiconstantsex.au3> #include <memory.au3> #include <ButtonConstants.au3> #include <WindowsConstants.au3> _GDIPlus_Startup() Global Const $IMAGE_BITMAP = 0 Global Const $STM_SETIMAGE = 0x0172 Global Const $SC_DRAGMOVE = 0xF012 Global Const $hGUI = GUICreate("", 296, 198, Default, Default, $WS_POPUPWINDOW, BitOR($WS_EX_TOPMOST, $WS_EX_LAYERED)) Global Const $idBackground = GUICtrlCreatePic("", 0, 0, 296, 198) GUICtrlSetState(-1, $GUI_DISABLE) Global Const $Bmp_Background = Load_BMP_From_Mem(_Background(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idBackground, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Background)) Global Const $idArtwork = GUICtrlCreatePic("", 25, 10, 100, 100) GUICtrlSetState(-1, $GUI_DISABLE) Global Const $Bmp_Artwork = Load_BMP_From_Mem(_Artwork(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idArtwork, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Artwork)) Global Const $idBgPic = GUICtrlCreatePic("", 10, 118, 131, 29) GUICtrlSetState(-1, $GUI_DISABLE) Global Const $Bmp_Rating = Load_BMP_From_Mem(_RatingPic(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idBgPic, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Rating)) Global Const $idRateButton = GUICtrlCreatePic("", 10, 158, 84, 29) Global Const $Bmp_Button_Rate = Load_BMP_From_Mem(_bnRate(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idRateButton, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Button_Rate)) Global Const $idRatePlusButton = GUICtrlCreatePic("", 106, 158, 84, 29) Global Const $Bmp_Button_RatePlus = Load_BMP_From_Mem(_bnRatePlus(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idRatePlusButton, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Button_RatePlus)) Global Const $idSkipButton = GUICtrlCreatePic("", 202, 158, 84, 29) Global Const $Bmp_Button_Skip = Load_BMP_From_Mem(_bnSkip(), True) _WinAPI_DeleteObject(GUICtrlSendMsg($idSkipButton, $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_Button_Skip)) Global Const $Bmp_RatingStarOff = Load_BMP_From_Mem(_RatingStarOff(), True) Global Const $Bmp_RatingStar = Load_BMP_From_Mem(_RatingStar(), True) Global $aIDRatingStar[6], $i, $j = -6 For $i = 0 To UBound($aIDRatingStar) - 1 $aIDRatingStar[$i] = GUICtrlCreatePic("", $j, 123, 17, 17) $j += 24 Next GUISetState(@SW_SHOW) Global $nMsg, $aCtrl, $stars = 0, $bClickPrevious = False While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE _CleanupAndExit() Case $idRateButton _CleanupAndExit() Case $idRatePlusButton _CleanupAndExit() Case $idSkipButton _CleanupAndExit() Case $GUI_EVENT_PRIMARYDOWN _SendMessage($hGUI, $WM_SYSCOMMAND, $SC_DRAGMOVE, 0) EndSwitch $aCtrl = GUIGetCursorInfo($hGUI) Switch $aCtrl[4] Case $aIDRatingStar[0] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) If $aCtrl[2] Then $bClickPrevious = True $stars = 0 Case $aIDRatingStar[1] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) If $aCtrl[2] Then $bClickPrevious = True $stars = 1 Case $aIDRatingStar[2] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) If $aCtrl[2] Then $bClickPrevious = True $stars = 2 Case $aIDRatingStar[3] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) If $aCtrl[2] Then $bClickPrevious = True $stars = 3 Case $aIDRatingStar[4] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStarOff)) If $aCtrl[2] Then $bClickPrevious = True $stars = 4 Case $aIDRatingStar[5] If $bClickPrevious And Not $aCtrl[2] Then ContinueCase _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[1], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[2], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[3], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[4], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) _WinAPI_DeleteObject(GUICtrlSendMsg($aIDRatingStar[5], $STM_SETIMAGE, $IMAGE_BITMAP, $Bmp_RatingStar)) If $aCtrl[2] Then $bClickPrevious = True $stars = 5 EndSwitch ;~ If $aCtrl[2] Then MsgBox(0, "VOTE", "You have voted with " & $stars & " stars") WEnd ;====================================================================================== ; Function Name: Load_BMP_From_Mem ; Description: Loads an image which is saved as a binary string and converts it to a bitmap or hbitmap ; ; Parameters: $bImage: the binary string which contains any valid image which is supported by GDI+ ; Optional: $hHBITMAP: if false a bitmap will be created, if true a hbitmap will be created ; ; Remark: hbitmap format is used generally for GUI internal images, $bitmap is more a GDI+ image format ; ; Requirement(s): GDIPlus.au3, Memory.au3 and _GDIPlus_BitmapCreateDIBFromBitmap() from WinAPIEx.au3 ; Return Value(s): Success: handle to bitmap or hbitmap, Error: 0 ; Error codes: 1: $bImage is not a binary string ; 2: unable to create stream on HGlobal ; 3: unable to create bitmap from stream ; ; Author(s): UEZ ; Additional Code: thanks to progandy for the MemGlobalAlloc and tVARIANT lines ; Version: v0.97 Build 2012-01-04 Beta ;======================================================================================= Func Load_BMP_From_Mem($bImage, $hHBITMAP = False) If Not IsBinary($bImage) Then Return SetError(1, 0, 0) Local $aResult Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary Local Const $len = BinaryLen($memBitmap) ;get length of image Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002) Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE $aResult = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0) ;Creates a stream object that uses an HGLOBAL memory handle to store the stream contents If @error Then SetError(2, 0, 0) Local Const $hStream = $aResult[3] $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface If @error Then SetError(3, 0, 0) Local Const $hBitmap = $aResult[2] Local $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr") DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _ "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak $tMem = 0 $tVARIANT = 0 If $hHBITMAP Then Local Const $hHBmp = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) _GDIPlus_BitmapDispose($hBitmap) Return $hHBmp EndIf Return $hBitmap EndFunc ;==>Load_BMP_From_Mem Func _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap) Local $tBIHDR, $Ret, $tData, $pBits, $hResult = 0 $Ret = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0) If (@error) Or ($Ret[0]) Then Return 0 $tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $Ret[2], $Ret[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB) $pBits = DllStructGetData($tData, 'Scan0') If Not $pBits Then Return 0 $tBIHDR = DllStructCreate('dword;long;long;ushort;ushort;dword;dword;long;long;dword;dword') DllStructSetData($tBIHDR, 1, DllStructGetSize($tBIHDR)) DllStructSetData($tBIHDR, 2, $Ret[2]) DllStructSetData($tBIHDR, 3, $Ret[3]) DllStructSetData($tBIHDR, 4, 1) DllStructSetData($tBIHDR, 5, 32) DllStructSetData($tBIHDR, 6, 0) $hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0) If (Not @error) And ($hResult[0]) Then DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $Ret[2] * $Ret[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0')) $hResult = $hResult[0] Else $hResult = 0 EndIf _GDIPlus_BitmapUnlockBits($hBitmap, $tData) Return $hResult EndFunc ;==>_GDIPlus_BitmapCreateDIBFromBitmap ;Code was generated by: File to Base64 String Code Generator Func _RatingPic() Local $Rating $Rating &= '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' $Rating &= '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' $Rating &= 'Xbvmo6Pr+uHhYT6fj8fj/PAKMTAUCj1+/Pj8+fPhcFgURemTTz6Bwn/++ef5+XmKBjSJ9Dzv4ODgnXfe0TTt5OQEyQdJzzCMVCq1t7fX09PDU0v3UBrb7+7u3rp1S9f1Wq2G7AJShmGMjY1ls9lYLOZrpHmfSI3O3t7ezZs30Z1iVobkCTq7u7vJZJI0wRXAg5UgCNls9tatW5qmVatVy7IglGmasVgslUrt7u729vZyNyJm+FEVLJX4QbZDLgE+u7u7PT09XCJBEMLhcLFYzGQyly9fTiaT0Zv3hGw2a5pmPp9/8uSJpmn37t1rNpuUOZFYFEWRZdk0TXSeZBSqqiqKghE33vi6UD7nUFVVVVVBEDDYIddGJQY6p15d4GU+al9Edizm26mqitDko0NrQIe6E1VVcWTC6cBgg8Eg+KHTLapoQIG6E+QVlCS+wyiwipYZi/E3GAxGIpFPP/10dnb2lVdeiUajxtv/EErDE/XHDxuNxu7u7vLy8o0bN6ampur1Oq9KMZp1HAcdAO/+qHDm732HmhTleB/HT/2o/qFvyR27T86pqfQdjOMn2IWrgXjwnTYTYzw5UdPq687IsPgDsYd5JblL92EwxbRQKKQoiqZpn3/+eSQSmZub6+/vDwaD2vU70n9Gk/Y//wPll6qqGIOkUinujL5TOd+JP7o23+H2qWcy3QNBn8D8cObUUECTOB9lXh3xcpNOn/hYm2qK7sMuUgMf6PKLAdTlcGsgxftODHlchd+HQqFQKPTZZ58FAoFXX331zJkz4XBYv3H3jxsFjeVFy7KOj49fvHjx66+/6rr+wQcfYH5CkYoPJ3y3Ongu4ghy7yEByN7/3TUL/pVPx/zaANcQgUgc+qj5AiaZvy+W+t5zj+QicFV131zhlwqIK1mWVVXd29t78OBBX1/f9PT08PCwrut03eZ/3e0wTbNare7v729ubu7s7AwODs7Pz8fj8aGhId8B78uAeCoW3Sj/5SUiLmR3CuFHgafe/OimT6UEr5up+yVl8KPcU/nvjnicArmCbdu5XG5/f//Zs2etVuvixYuTk5N9fX2+W0/++04YRlYqlXw+n8vlisXiyckJZiY82vzl1aA/ee+bkb0kke6LTPznp9L0XabqrgJeRiJfwDzVvP6EVeTtSCSSTCbPnDkzODjY398fi8XC4bDv8pn/DiCUgbEM5t4omXwZ4u/PS95aQ8RWVRUXMnVdD4fDiqIgN/zFbUzog248+G4T/Y3v/0kTVKbjzhlmTafei/0fBVOBk/9cK7YAAAAASUVORK5CYII=' Return Binary(_Base64Decode($Rating)) EndFunc ;==>_RatingPic Func _RatingStar() Local $RatingStar $RatingStar &= 'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAIAAAC0D9CtAAACq0lEQVR42i3ST2tcZRQH4N85996ZTEy0mYZEQYvGCv4hgguhaF0XP4Ab17rTRUVcudONn6EggrhQpAsrRU1WKrpQLFVqKjXWWpvEtpPJzNw7973v+57zc6Hf4Fk8sn/rwNWFEAIqgBJQ+h/ffbFx+sUIrwyuEIKCQpSkkkZSCIdl0DJhOXfNpU/eSHFemBElXUgCcHcA6iBJB90VSVSMmv/Z2XpwfXznyldkAWtBA5yW3d3M1N3hNDOSYDJm035z7fzGCWl2L0rhGULSPJFiZu6uQqVnowOZ4uYq9WFv9vXaAyiOtnLbQCr3nHPhjv94mulOCqqckkMEvv/L1uowHVs5PhyGu79ug8lhKuKeSYqIbL//7pUL71QSC0iiLyzg5KN4crNaXRmORqOfL+frN5ADTCGUxN7TL70ne3t/56PfZ9++XHEfQFnq8sCOrdxbVlVIuZ5O6lmVPcElVo+sPPcBlx+Wmzf+6vcHvaord15ZnH8PKVC6UGECLUAjmelp8fn8+Llg0oasbTef1rMmSHrqo/na64lBCCCzNJcOmjJiu/5afOLDSbB6NksxqBGxa+bzMJ1Ow4mzTVo1tCic2qlkIE/TWnro7KSZhRCS0x0KZ4leshhC3Lv6zeGdm6IEHXArMhAnB9dv7/4YQ/KYxahumnNM7GggZXLt84WKzjgfnAqbP8TeqQwrK452Lrh7LtyIRFegFBRQwo2HF/uLmA/fDic/nsX7w2Of1sffWlyC3f4MSnTuHpPFkkyZCrP27m9Lvaib58PyC8247qztlf3l9Td18MzSrVfbg6ty34YYRVTdARcUZZz8uX7my2bh2fF41LR1alPT1uPJUTc4vXZmux7tlsX/teWnS5dLdVHt9e9RFDHVOYMArZOiL2ql9nu90j2HmGiuqv8CfN39ER5WsGgAAAAASUVORK5CYII=' Return Binary(_Base64Decode($RatingStar)) EndFunc ;==>_RatingStar Func _RatingStarOff() Local $RatingStarOff $RatingStarOff &= 'iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAIAAAC0D9CtAAACOUlEQVR42lVTvU7zQBDc3bNjmTiEAEUoUJqQNgiJJmUegvejTZUXoKdC/JNgCUVCWEBQIstgmdze3ldsFPFddX8zOzezh1mWIaJzjogQ0XtvjGHmy8vLwWDgvUdEAAAA55wxxntPAKAH3nsAEBFrLTOPRiNm1k3vvYgQkS7J/xnMrOC7u7u9vb3r62tl2dTRQSKy2fXeq8jn5+d2u/3y8qJcepWZ9eYaIyKqBBHLslwsFvv7+/P5/Pf3VwEAsHkwqSQFiIhz7v7+vtFoJEmSJMlkMtlIAAB9Kp6fn4/HYxFRjiiKDg8Pj46OWq3WYrFI0/T19dVau7Hq7OwM397elsvlxcWFtRYRiaherydJEgQBMxdFUZYlMwNAHMfD4bDZbOJsNtva2gKAq6urPM81gbVuIq0vIjs7OycnJ8xcVRWmaWqMiaKoXq9Pp9PZbBYEAQD8jbLT6fR6ve/v77IsAYCstdbasizzPO92uyrPGKMuaT7dbjfP85+fH6VY94G1tqqqp6en+Xyu9ApGxM/PzzRNq6rSPNb56AwAJpNJGIbGmO3t7cFgkCQJEdVqtYeHB03ivzrOORH5+vqK47jdbvf7fefc8fHxwcFBHMfv7+/qh9oTqDOImGVZGIanp6etVmu5XDJzGIadTqfRaHx8fGRZtru7y8xEhLe3tyJijJlOp/1+P47joiiY2TmHiGEYNpvNoigeHx97vZ42Ed7c3OifqdVqRLRarbSPVIbaEEWR9361WllriegfCsrMWSv7x9MAAAAASUVORK5CYII=' Return Binary(_Base64Decode($RatingStarOff)) EndFunc ;==>_RatingStarOff Func _bnRate() Local $bnRate $bnRate &= 'iVBORw0KGgoAAAANSUhEUgAAAFQAAAAdCAYAAAA0PEtlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMwQTExQjEyNERDNjExRTE5NDUzOTcyOUI0RUEyMzI2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjMwQTExQjEzNERDNjExRTE5NDUzOTcyOUI0RUEyMzI2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzBBMTFCMTA0REM2MTFFMTk0NTM5NzI5QjRFQTIzMjYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzBBMTFCMTE0REM2MTFFMTk0NTM5NzI5QjRFQTIzMjYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz61TKYFAAAJbElEQVR42uxaWUxVRxgeLhe4vQhSjY2ihbbEYlwSXlqIqEkT45r2SdxNWNxiotEUl6T4otY1xgeNS1z6UEWNjSZ1CfrCg4rF+mBAfWkpLhCbtLFA2eFC/288/+nPzxxq00c7yeSeO2dmzj/fv//nhM3gFkc9TH049VHUU6kneuNvc+un3k29hfpv1Jup93rjfgs7wIxQz9i8eXPBqlWrCt+nlpCQkGj+b6anp6f7BbUzZ858u3fv3gs09IJ6hwQ1ToGZRP2j48ePf1VSUrK0u7vb9PX12R4XF2f6+1+vw7VlWX//kATwGrkWe4VCIX8P3tu1jtfK9a55vgip+ZpmHovFYiY+Pt75bNe+3EA31pGAmdOnT5evXbv2axr+hXoXgyolNJ766K1bt5YUFxcvbW9vN52dnT4BTCgDjI0lsHzfRSzuM5C4xi//53nywNxwjw8iQdZM1Wt57wH6KgDieXwezVwXQ3yVDodNYmKiAUb19fW/7tu37zANN3jq70soflNJuz+rrq7+ZtiwYWkAs7e3dxCxDIokTBKlpUsexnUQnucCQQPG+8h5er0ERUullRpiNu/jolFLs4t+PCcSiZjW1tam3NzcIrIClZ5t7Y8XtjRj9+7dpXl5eTldXV0WTE20lBo0EKk5KX+DuK+lV0tmEJjSVLgYKX812Np0aI2TWibPKJ/DmsrzU1JSIsnJyZEbN278QNOaMJVZDUeUOWfOnHyAScbXXySJknZQ/tfj6FevXjVjx441Y8aMsZ2vR48ebdLT0+316tWrTVNT0wAGyF+t4nIc18+fPzcLFy40EyZMsP+Z' $bnRate &= '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' $bnRate &= 'OVuGBjpDcKmvTkF1AcFVBgtSQdee2n4FAaPDKteLPFeGpcMnyVw5j98pId4lO11x//79a3S7jnoreMEv6WLeQN25c+cuUxz33vr163OxKat50LugN3lb6Hqn5AKR7aB+6SdTXtcLuyC7GWSPmblsI4NqFTobRAeg0WjUHD58uLq8vPyyADOmXyPHe1VnlIY++ZwahRf5WVlZaSHX2zNVZRryC4F/6YSGercUZFaCnvdfn63O21dXV9d05MiRKrKdUPMfkXtwyOR6Lx/2QE2n/jH1LO/rkYiXVb2tX49AfKGmndR/p/4z9Z+oN3pg+l+QxAV8hgMnleZ9jpPshVaht/zDkT4vvWzzPsNp9q57g74ckWMhD9hEAeb/3zb9DWq3B2Sf/rbpLwEGAPenHVh3ii8xAAAAAElFTkSuQmCC' Return Binary(_Base64Decode($bnRate)) EndFunc ;==>_bnRate Func _bnRatePlus() Local $bnRatePlus $bnRatePlus &= 'iVBORw0KGgoAAAANSUhEUgAAAFQAAAAdCAYAAAA0PEtlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFGNEMzQjNBNERDNjExRTFBRUQzREQzQTUyNUQxMTM1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFGNEMzQjNCNERDNjExRTFBRUQzREQzQTUyNUQxMTM1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUY0QzNCMzg0REM2MTFFMUFFRDNERDNBNTI1RDExMzUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUY0QzNCMzk0REM2MTFFMUFFRDNERDNBNTI1RDExMzUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7bDjUvAAAJ/klEQVR42uxaWWiVRxSe3NwsjTFuWOpS01Zs3fHBNpIo2IeqCK0P7lGpTRQXEFziRuvy0Lgg6kPirilSE6MPKlK3UojgGosgdUFo0xAXLLSYPdGYm/R843/+nv/cudHSRztw+P87/yxnvrPMmTM3zkSXOKIwUReinkRpRIle/Ztc2olaiOqI/iSqJWr16gPg6d/JRP1Wrlw5df78+XPfpZKQkJBo/i/mxYsXLQ+pFBUVfb9ly5ZSqnpI1CxBjVNgJhF9sHfv3q9zc3OzW1paTFtbm6W4uDjT3v6yH96tyNrbO2SA+8i+GCsUCvlj8NiuftxX9ne181VItdc8c10kEjHx8fHOuV3jcgHf6EcKZg4dOlSycOHCfKr+neg5gxoW7eOJ3lm9enVuTk5OdlNTk3n27JnPADPKAGNgCSx/dzGL7wwk3vHk39xOLpgLvvFCJMhaqLovjx2wVwEQt+P1aOG6BMIlHA6bxMREA4wqKyv/2Lp1awFVP/LM39dQPNPIuj8tLy//LjU1tSvAbG1tjWKWQZGMSaa0dsnFuBbC7VwgaMB4HNlO95egaK20WkPC5nFcPGptdvGPeZKTk01DQ0NNRkbGV+QFyjzf2h7PwMNvbtq0KW/UqFEjnj9/bsHUTEutQQGTWpLyGUv6Wnu1ZsYCU7oKlyDlU4OtXYe2OGllco1yHrZUbt+5c+fkTp06JZ89e/Y6NatBUxY1NqL0CRMmZAFMcr5+p/z8fNOnTx/Tq1cvS7179/bfUY/fhYWF/sRMzDSY4N/8zgAx7dq1y45XUFDgC0J+l1rNdbxIPHlcFjBI1knB' $bnRatePlus &= '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' $bnRatePlus &= 'DieoZcwZK1eg36WvkicgOZY8i7uuT3QixeUDpVBkhomjDekuZPCPOXFKAmbe3RIwjLAoU4je7969+xeXLl36hkBNodgqcFZ2SVKHEfpaQgfc7HN0sllKXoLhuk9yJbN1Bl/zIgN9bTFyXGniWlByXdBaaCcpTBMdlb+lUx/yj5XY3OPFFSkC1DgKAXpMnDjxI7kDS3Bkas119+K6spAxotZOlwm6xtT+KxYwegN1XeS5LvZcvtjFE98pkWs069atO3/jxo0f6HMFUQNkwZd0Ea+iori4+AQF028vWbIkA4Oymce6C3qd20LXnZILRPaD+tKPj3is4VpgsfxmLH8sNy45Z6wrFNZWEABFdFFQUFBeUlJyQoAZ0dfI8V7WGen8jz+nQrtpVv/+/buGXLdn6p6ow38I/MtNqKO7pVhuJdZ8/3Vutd62ioqKmsLCwqvkO2HmPxNVccjkupcPe6D2JvqQqL/375Fk71T1pv57BOoLM31G9BfRb0S/Ej32wPT/QRIX4284KV6eFKmVTl5oFXrD/zjS5h0vG72/4dR6762x/jki6ziTnyjA/P+/Tf+A2uIB2ab/2/S3AAMAPb6LrA5CDj0AAAAASUVORK5CYII=' Return Binary(_Base64Decode($bnRatePlus)) EndFunc ;==>_bnRatePlus Func _bnSkip() Local $bnSkip $bnSkip &= 'iVBORw0KGgoAAAANSUhEUgAAAFQAAAAdCAYAAAA0PEtlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExQUVCRTEyNERDNjExRTFCNzQ5QzJCQTAyMUI2RjY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExQUVCRTEzNERDNjExRTFCNzQ5QzJCQTAyMUI2RjY0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFBRUJFMTA0REM2MTFFMUI3NDlDMkJBMDIxQjZGNjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFBRUJFMTE0REM2MTFFMUI3NDlDMkJBMDIxQjZGNjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6nEq8yAAAJi0lEQVR42uxaWWiVSRaue3OzTKLRRhrc2pYRbVf0ZUw0+tAIbtBvChpRNBo3FJQxboMgiBpFQTFuuDTiigjCuDW++KC2rfMSx+XB0RE10gMzahI10Zhlzlf+5+/vnlvX7mEe7YLi32o59Z21Tv0Jl1kSUlNSu0j9Umqx1Lzo/edcOqS2SG2U+m+pDVJbo/dp4NnnAql9qqqqplZWVs7+Skpubm6e+724Dx8+tDyTcvjw4aPV1dWn5NUzqc0MasKAmS/1j/v27fvL3Llzy1taWlx7e7uviUTCdXR87Id7z7KOjk8SoH24L8ZKJpPxGDp2qJ/25f6hdrEImfaWZn3X1tbmcnJygnOHxtUCutFPBMwdOnToxMKFCzfK639Kfa+gpqh9jtTuq1atmltRUVHe1NTk3r17FxOghCrAGJiB1e8hYvFdgcQ9rvqs7XjBWvBNF8IgW6bavjp2mr4SQNpO12OZG2KIllQq5fLy8hwwevz48b+2bNmyS17XReofSyiuxaLd3968efP7Tp06dQWYra2tGcQqKEwYE2WlixcTWoi2C4FgAdNxuJ3tz6BYqfRSI8zWcUI0WmkO0Y95CgoK3Js3b+pLSkrmiBW4EtnWjhwFHnZz06ZNK0pLS0e8f//eg2mJZqlBAZGWk3zNxn0rvVYys4HJpiLESL5asK3psBrHWsZr5HlUU7V9586dC4qKigouXrz4kzSrR1NlNRzR1xMnTiwDmGJ8405MFNtBfrbvlSAlora21i1YsMD16NHDde/e3fXs2dPfb9y40dXX16cx4Pbt2/4bKr4xAEzTq1evXK9evXy7' $bnSkip &= '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' $bnSkip &= 'wCw6AvFOKYeOSBGgJiQE6DZ58uRveKLQNs2qr92C2gRCKA2WTQVDY1r7ZU0JCiQGdfjw4UipZT3ICx3s2fCJTRe30zMl2PV169b9cOvWLSR6H0l9A0D5TAkb/F7Y+q5evXrh0qVLS2BLVc2znQX9ltPC0JlSCEQ977GHfiod6lVDYc1vtcnsPNVGZstVMPPUbgLQwsJCbKNvVldX75NmP0p9jtATXRLm1LM4Suf/6TspEniX9evXr2syZKTMOdEn/xD4H53Qp86W7Gnnr833/85t1tv+6NGj+pqamh/Fdv5VXv1N6hMNmULn8qkI1J5SB0jtF/09UhDtqj7Xv0c6Il/zTup/pD6U+o9IMhv5D5JElt9woP5do99xiqLQKvmZ/zjSHm0v30a/4TRE963Z/hzhd3o0kkdg/v5v0y+gtkRAttt/m/4rwADASncLtob/NAAAAABJRU5ErkJggg==' Return Binary(_Base64Decode($bnSkip)) EndFunc ;==>_bnSkip Func _Background() Local $Background $Background &= 'R0lGODlhKAHGANUAAOjo6Lq6uuXl5erq6uzs7O/v76CgoHFxceLi4tXV1YWFheTk5Ofn5+bm5unp6ZiYmNzc3MzMzKmpqevr6+3t7fDw8O7u7rS0tKqqqnp6eqenp8TExNvb25CQkJKSkoKCgnZ2dnl5eZqamsLCwpubm7CwsIiIiLu7u2xsbIeHh3V1ddTU1MfHx9DQ0N7e3qampm9vb8bGxrGxsc7Ozr29vYuLi8vLy9bW1tjY2MDAwL+/v2tra39/f4GBgd3d3ePj4yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjAgNjEuMTM0Nzc3LCAyMDEwLzAyLzEyLTE3OjMyOjAwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQzN0E1NDczRkM0Q0UxMTE4RDVCQTVGNEU4Mzc4QjIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjcyOEFCQjBCNERCNzExRTE4NEJDOEVGQTQ4RDRDQUREIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjcyOEFCQjBBNERCNzExRTE4NEJDOEVGQTQ4RDRDQUREIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQzN0E1NDczRkM0Q0UxMTE4RDVCQTVGNEU4Mzc4QjIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQzN0E1NDczRkM0Q0UxMTE4RDVCQTVGNEU4Mzc4QjIwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkEAAAAAAAsAAAAACgBxgAABv/AQmVYKRiPyKRyyWw6n9CodEqtWq/YrHb7pEwcDYplTCGYz+i0es1uu9/wuHxOr9vv+Lx+/x4ABBwEFGUTA4aHiImKi4yNjo+QkZKTlJWWl5iZmpuODgwCPhsTo34ApqeoqaqrrK2ur7CxsrO0tba3uLm6u66fECwyAw4ADA0Cx8jJysvMzc7P0NHS09TV1tfY2drb3M8LODEXBsPF' $Background &= 'Cz/n6Onq6+zt7u/w8fLz9PX29/j5+vv87xARJzA8INfAXL+DCBMqXMiwocOH/wJIGEis4MOLGDNq3MjxYsSJBA12HEmypMmTCz9SLIeypcuXMFGqDBmzps2bOPXNrCgyp8//n0Bt7mQZtKjRoxyHWkTKtKlTfkp7Pp1KtWq6qFazanWKdavXrz67gh1LtqXYsmjTajyrtq3bhGzfyp1rLy7du3jZ2c3LF+/evoDf/g1MGO3gwoi/Hk7M2OrixpC5RpC4cmnky1kfY978UzPnz0Ing+QJuvRRz6ZTm0StunVS0ZWlup4tEzZN2rhrU76du/dI1r6D7wMuvHhd26SNK2dIfLnzds2fS0cXfbr06tadY8+ufDv34t6/Bw8vvjf58rjPo5+tfn3r9u5Tw49fej79z/bvb86v/zL//pD9ByBjAg6IWIEGEoZggoAtyCBfDj7oF3JESagdhZZZ2B2Gsmk4/x6HHi4XYYhujUiiWiaeaBiIKn64W3ItmsdijLmlSKNiM97IXo46vsdjj/L9CGR9Qg6JX5FG7odkkv4tyWSATj5JYJRSHkhllQpeiWWDWm4JYZdeTvhihWFCOWaGZU55ZodpZrlmm2aORiachdlIZ0523nlTnnrWxGefMP0JqEuCDqqbnGgaelehipbEaKO/gQmpV49OulGllmaEaaYeScppVZt+2lCooqbkaamSvYkqiqeuihSprvYDa6zDtUprULPeik+uuh6naq+U2gosTrwOK0+xxsKDbLLuLMusXsI++5Kz0l4VbbWHxobtVNRu2y2231YbrrTjPlsus+cmm/+usesO2y6w7/Yar67z3lovrffGmq+r+67aL6r/lhqwqAN/WjCnB2easKULT9owpA83GrGiExta8aAXA5pxnxvr2fGdH9MZMpwjt1lymieXmXKYK3vZ8pYvYxlzlTNLWfOTNzOZc5I7G9nzkD8DGXSPQ+tY9I1H05h0jEu32LSKT58YNYlTh1i1h1drmLWFW0sYFQJghy322GSXbfbZaKet9tpst+3223DHLffcdNeNNgc2UEaMAAtAkMDfgAcu+OCEF2744YgnrvjijDfu+OOQRy755JQfPoMOJRjgQUEutDBCAKCHLvropJdu+umop6766qy37vrrsMcu++y0146L+gUakNBBCgvcsMEFLxgg/PDEF2/88cgnr/zyzDfv/PPQRy/99NRXb/31yovQgQkf8LACDQLVoMD45Jdv/vnop6/++uy37/778Mcv//z012///fiv30MGIIAQQg4a8MAHVHCAAhrwgAhMoAIXyMAGOvCBEIygBCdIwQpa8IIYzKAGGwiDHaDgABkIAgA7' Return Binary(_Base64Decode($Background)) EndFunc ;==>_Background Func _Artwork() Local $Artwork $Artwork &= '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' $Artwork &= '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' $Artwork &= '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' $Artwork &= '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' $Artwork &= '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' $Artwork &= 'Kgjri3ORC/b44gGT0OU3uQmdu9xViEJg5w9/eJon6ZCFnTxDDBeZ42amsAQ13IESnGriVWIwpumc6AC0jKIltLGN9lSPnf4T1qqcAU//1SVVyGTVMmGEi3SswRiicEHFdhJEB5CrIIeLyrNcyVA+hiY8HtzBKw7gU9FU0AdqAIcotgGKd9WlevAUViUPKDphmRGfhXoVM//Qi1CYQQ5y+GcL4vCMCB4Aa2fizO84pThvdmo6ovHpFEKwFSmoARC2CMUf2mBGpYhuWAUwJDIN2aJ8VmEBrmKmz5DFBmj4EBiLpYXrLuKt/zkeAnFnzem2djAFrcSRYSHgLMN+ogCvYAhWLtJAFfBJWNO+CFYL8Bl2cLElXPBTqxUDxjOgA4iBfpOINJWKDpgYlatEpaevqMBl3RrIOs5vE7YQhUSq1T27wYopoNAAaxeQmu4ZK7aqgEQvIGEMaIbDEikAxzDEQAmxhgZ+ZpUKZM8a3Ki84mMHQIJMKvCsoaohGsJoqSgaEQqJ/CEd++zea1NjLAFLDFmh0EQ/RWGLYxwDGOCoQx0sMVBSgvODWJFjeylLpqlQsIISEgp+1UABYcihpSlm0GGfBBGJMDgUjaDxtbQKDWHYomIRPkYknkGLOkRHCmYKD2RN+WHvwP+3M1GUQn2bHFdeUEIQ79gqTgpjBlHIwQxbboQZEnAtHEPDFnTQBo8VBMrDMJYWax6FJaIhmoISZEzbQvJmlEwu+VWQSsmtoxiiseUqHwMZZVZSYYRxaDpsIsKHCUcxFtsCYOwkDsioRCoicYsD3eIZcSgFeH535DpPRcmeOoBg4lpfNeRXrj0QxFZxbJicuGInyKA1rV3hCkinAhzgeMYzUuFrVrag15EAB0+AUQlkqKCgkHVvqKUy6hCdxwHPUpgUFCbXA9QAGs2xcsWQEQdX6CSJwEhFbXsNDkyvuQ6RGMUofnyMB9OhGMV4hhR0G0c5O5szdy7REHfggGlLwQf/cVWDGHpwgDQY+od0WBKPs3CYSkB6sbZNNy1SQItRpOAWljgG0D4Qh1TEQQXgZFy+9S1q0HgnjueRkBcGMFAAiEFBDe82HQ7NX0U/nNaNfvS4f/1j5iJ7whKMH0F8e/Jnp/ysxZXvTktRa2QsSRiJ3WrVE1uxTYRDEN/eiU6KcYtRiEEKW4h0MeAYlQ4jPaehNiUa3FCMOLAg6jfZdtXlkNgHbqLW4u5J2KsSrq+P0lvwo7Pagav0Dx+ZEm8vhtazYPO7Vx3RSsqCToQdZC8ggdk7yAElLLtew6Pc5AXBWBPH4I55FyMNlYgwHRju+ocfRkEBBcRPDhDnZZvS9KF/QjYn9vB74J9jBcAnPvGFH/wVWIMaEaNGKLahCOhPbBsWoH4jlm8DaXgDDuf4Pfe7v4dzeB/8wS9++c1f/OEX3xcBAQA7' Return Binary(_Base64Decode($Artwork)) EndFunc ;==>_Artwork Func _Base64Decode($input_string) Local $struct = DllStructCreate("int") Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", 0, "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(1, 0, "") Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]") $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", "str", $input_string, "int", 0, "int", 1, "ptr", DllStructGetPtr($a), "ptr", DllStructGetPtr($struct, 1), "ptr", 0, "ptr", 0) If @error Or Not $a_Call[0] Then Return SetError(2, 0, "") Return DllStructGetData($a, 1) EndFunc ;==>_Base64Decode Func _CleanupAndExit() _WinAPI_DeleteObject($Bmp_Rating) _WinAPI_DeleteObject($Bmp_RatingStar) _WinAPI_DeleteObject($Bmp_RatingStarOff) _WinAPI_DeleteObject($Bmp_Button_Rate) _WinAPI_DeleteObject($Bmp_Button_RatePlus) _WinAPI_DeleteObject($Bmp_Button_Skip) _GDIPlus_Shutdown() Exit EndFunc ;==>_CleanupAndExit Edited February 2, 2012 by big_daddy Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted February 2, 2012 Moderators Share Posted February 2, 2012 big_daddy,To drag your PopUp , I suggest one of the methods in the Moving and Resizing PopUp GUIs tutorial in the Wiki. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Moderators big_daddy Posted February 2, 2012 Author Moderators Share Posted February 2, 2012 To drag your PopUp , I suggest one of the methods in the Moving and Resizing PopUp GUIs tutorial in the Wiki. Method 2 worked perfectly. Thanks!Updated code in previous post. 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