RazerM Posted September 5, 2007 Share Posted September 5, 2007 (edited) I have made some functions for "enhancing" how a GUI is dynamically changed, to create visually better transitions. My aim was to make easy to use GUI effects and have the ability for simplistic GUIs with visual changes to help user see what's going on.Window Functions:_GUIEnhanceAnimateTitle - animates the title of a window_GUIEnhanceScaleWin - resizes a window step by step to create a smooth resize_GUIEnhanceAnimateWin - Animates a window when showing/hiding (originally posted by raindancer)Control Functions:_GUIEnhanceCtrlFade - Fades a controls foreground and/or background colours_GUIEnhanceCtrlDrift - Moves a control smoothlyThere are only a few so far but I'll think of more effects etcInclude file:GUIEnhance.au3Previous Downloads: 259Example showing all functions:test.au3Previous Downloads: 57Simple example showing one possible use:test2.au3Update 01:Paramater added to _GUIEnhanceScaleWin. If true, gui centres relative to previous position. Parameter order different to previous function.Paramater added to _GUIEnhanceCtrlFade (at end), adds option of how many colour changes (more is smooth but flickers more, less won't flicker as much but may appear to "jump" colours.Update 02: All variables declared local, now works with MustDeclareVars option (Thanks MCP) Edited October 11, 2007 by RazerM Parsix 1 My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop. Link to comment Share on other sites More sharing options...
Valuater Posted September 5, 2007 Share Posted September 5, 2007 (edited) Cool ideas!!! Razer ... keep up the great work!!! 8) Edited October 11, 2007 by Valuater Link to comment Share on other sites More sharing options...
fisofo Posted September 5, 2007 Share Posted September 5, 2007 Awesome! I could have used this one a while back It seems like the fade (esp. to black) on the labels is still not great (flickers a good deal), but otherwise the effects are really nice.... thank you! Link to comment Share on other sites More sharing options...
gseller Posted September 5, 2007 Share Posted September 5, 2007 (edited) Oh Baby! That is too cool. I love the radio buttons changing the position and adding or taking away the button. Looking forward to seeing more examples... edit: Cool Valuater, Just got your example working. Pretty neat entrances... Edited September 5, 2007 by gesller Link to comment Share on other sites More sharing options...
_Kurt Posted September 5, 2007 Share Posted September 5, 2007 Wow, looks great. Good work, very interesting functions, espescially __ColorGradient(). Maybe there should be an option for _GUIEnhanceScaleWin so that if you want you could re-scale the GUI, but always keeping it centered from it's original position (I'm not the best at explaining). So for example say you have a GUI at 100,100,200,200 (X,Y,W,H), and I wanted to resize my GUI to 300 width & 300 height, the final coordinates would be 50,50,300,300. Using WinGetPos it should be easy to add something like this in (maybe add another parameter if people don't want it to resize like that). Just an idea Kurt Awaiting Diablo III.. Link to comment Share on other sites More sharing options...
WeMartiansAreFriendly Posted September 5, 2007 Share Posted September 5, 2007 Great work! You should add this: http://www.autoitscript.com/forum/index.ph...st&p=390847 Don't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet() Link to comment Share on other sites More sharing options...
RazerM Posted September 5, 2007 Author Share Posted September 5, 2007 @mrRevoked Good idea, i'll add it in soon @Valuater I'll play around with your function.. Thanks @Kurt Yes I never thought about that, good idea! I like the function a lot and hope to improve it by adding centering (optional) CoePSX is author of gradient function, I love it @fisofo Fading cannot be improved easily (I have a few things in mind though.) My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop. Link to comment Share on other sites More sharing options...
MCP Posted September 6, 2007 Share Posted September 6, 2007 I have made some functions for "enhancing" how a GUI is dynamically changed, to create visually better transitions. My aim was to make easy to use GUI effects and have the ability for simplistic GUIs with visual changes to help user see what's going on.Thank you, dude! Nice job. It has been easy to add it to the project I am currently working on. Keep up the good work. Link to comment Share on other sites More sharing options...
James Posted September 6, 2007 Share Posted September 6, 2007 Do you have a screenshot of what this can do? Im at college at the moment and I want to see what its like before I use all my bandwidth (we have this weird system in college)... Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ Link to comment Share on other sites More sharing options...
ptrex Posted September 6, 2007 Share Posted September 6, 2007 @all It would be nice to group them all together. This is something I found in the old box : expandcollapse popup;K2000 animation 2006 By Arcker ;For The AutoIt community #include <GUIConstants.au3> ;Dim $light[9],$lightvalue[9] _display_progress("AUTO IT VERSION 3.2.X.X", 1, 0x040000, 0xff0000, -1, 25, 30, 5, 0,3) GUISetState(@sw_hide) sleep(100) _display_progress("And his community", 1, 0x040000, 0xff0000, -1, 10, 30, 5, 2,6) GUISetState(@sw_hide) sleep(100) _display_progress("Wish you a merry christmas ", 1, 0x040000, 0xff0000, -1, 20, 30, 5, 1,4) GUISetState(@sw_hide) sleep(100) _display_progress("and a happy new year ", 1, 0x040FFF, 0xffFF00, -1, 20, 30, 5, 1,4) GUISetState(@sw_hide) sleep(100) _display_progress(" thanx for this year of code addicting ", 1, 0x040FFF, 0xffFF00, -1, 10, 30, 5, 1,4) GUISetState(@sw_hide) sleep(100) _display_progress(" LONG LIFE TO AUTOIT ", 1, 0x0F0F0F, 0xffFFFF, -1, 150, 40, 15, 1,4) Func _display_progress($size = 5, $sizevaluefade = 1, $valuefade = 0x110000, $valuemaxcolor = 0xff0000, $croissance = -1, $delay = 50, $itemwidth = 20, $itemspace = 5, $switch = 0,$limit=0) Dim $tabsize, $istring = 0 If IsInt($size) Then $size = $size Else $string = $size $size = StringLen($size) $istring = 1 EndIf $tabsize = $size - 1 $middle = Mod($size, 2) If $middle = 0 Then Exit $middle = $size / 2 - 0.5 ConsoleWrite("middle = > " & $middle & @CRLF) Dim $light[$size], $lightvalue[$size], $currentheight[$size], $currentwidth[$size], $sizevalue[$size] ConsoleWrite("value fade => " & $valuefade) ;ConsoleWrite(Int($valuemax)) $widthtoset = $itemwidth + $itemspace $width = 10 + $size * $widthtoset $height = 25 + $size $setheight = $height - $size - 5 $Form1 = GUICreate("AForm1", $width, $height, -1, -1, $WS_POPUP) $totalsize = 20 + $size If $croissance = -1 Then $valuemax = $totalsize Else $valuemax = 3 EndIf $widthset = 5 For $i = 0 To $middle - 1 $currentwidth[$i] = $widthset $light[$i] = GUICtrlCreateLabel("", $widthset, $setheight - $i, $itemwidth, $i + $size) GUICtrlSetBkColor(-1, $valuemaxcolor) If $istring Then GUICtrlSetData(-1, StringMid($string, $i + 1, 1)) GUICtrlSetFont(-1, $size * 1.4, 800) $widthset += $widthtoset Next $light[$middle] = GUICtrlCreateLabel("", $widthset, $setheight - $middle, $itemwidth, $middle + $size) GUICtrlSetBkColor(-1, $valuemaxcolor) If $istring Then GUICtrlSetData(-1, StringMid($string, $i + 1, 1)) GUICtrlSetFont(-1, $size * 1.4, 800) $currentwidth[$middle] = $widthset $widthset += $widthtoset ;$setheight = 0;$middle - 1 $k = 0 ;$scale = $size -29 $itemheight = $setheight - $middle + 1 $itemsize = $middle + $size - 1 For $i = $middle + 1 To $tabsize $currentwidth[$i] = $widthset $light[$i] = GUICtrlCreateLabel("", $widthset, $itemheight, $itemwidth, $itemsize) GUICtrlSetBkColor(-1, $valuemaxcolor) If $istring Then GUICtrlSetData(-1, StringMid($string, $i + 1, 1)) GUICtrlSetFont(-1, $size * 1.4, 800) $widthset += $widthtoset $itemheight += 1 $itemsize -= 1 Next GUISetState(@SW_SHOW) GUISetBkColor(0x000000) AdlibEnable("messageHandler", 50) $countlimit=1 While 1 If $limit = 0 Then ;ContinueLoop Else If $countlimit = $limit Then ExitLoop $countlimit += 1 EndIf For $i = 0 To $tabsize $lightvalue[$i] = $valuemaxcolor $sizevalue[$i] = $valuemax ;$switch = 0 GUICtrlSetBkColor($light[$i], $valuemax) ;pour tous les éléments APRES la lumière "principale" If $i <= $tabsize Then For $current = $i + 1 To $tabsize If $croissance = -1 Then $sizevalue[$current] -= $sizevaluefade Else $sizevalue[$current] += $sizevaluefade EndIf Switch $switch Case 0 GUICtrlSetPos($light[$current], $currentwidth[$current], 0, $itemwidth, $sizevalue[$current]) Case 1 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]) / 2, $itemwidth, $sizevalue[$current]) Case 2 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]), $itemwidth, $sizevalue[$current]) EndSwitch $lightvalue[$current] -= $valuefade GUICtrlSetBkColor($light[$current], $lightvalue[$current]) Next EndIf If $i > 0 Then For $current = $i - 1 To 0 Step - 1 If $croissance = -1 Then $sizevalue[$current] -= $sizevaluefade Else $sizevalue[$current] += $sizevaluefade EndIf Switch $switch Case 0 GUICtrlSetPos($light[$current], $currentwidth[$current], 0, $itemwidth, $sizevalue[$current]) Case 1 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]) / 2, $itemwidth, $sizevalue[$current]) Case 2 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]), $itemwidth, $sizevalue[$current]) EndSwitch $lightvalue[$current] -= $valuefade GUICtrlSetBkColor($light[$current], $lightvalue[$current]) Next EndIf Sleep($delay) Next For $i = $tabsize To 0 Step - 1 $lightvalue[$i] = $valuemaxcolor $sizevalue[$i] = $valuemax GUICtrlSetBkColor($light[$i], $valuemax) ;pour tous les éléments APRES la lumière "principale" If $i < $tabsize Then For $current = $i + 1 To $tabsize If $croissance = -1 Then $sizevalue[$current] -= $sizevaluefade Else $sizevalue[$current] += $sizevaluefade EndIf Switch $switch Case 0 GUICtrlSetPos($light[$current], $currentwidth[$current], 0, $itemwidth, $sizevalue[$current]) Case 1 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]) / 2, $itemwidth, $sizevalue[$current]) Case 2 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]), $itemwidth, $sizevalue[$current]) EndSwitch $lightvalue[$current] -= $valuefade GUICtrlSetBkColor($light[$current], $lightvalue[$current]) Next EndIf If $i > 0 Then For $current = $i - 1 To 0 Step - 1 If $croissance = -1 Then $sizevalue[$current] -= $sizevaluefade Else $sizevalue[$current] += $sizevaluefade EndIf Switch $switch Case 0 GUICtrlSetPos($light[$current], $currentwidth[$current], 0, $itemwidth, $sizevalue[$current]) Case 1 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]) / 2, $itemwidth, $sizevalue[$current]) Case 2 GUICtrlSetPos($light[$current], $currentwidth[$current], ($totalsize - $sizevalue[$current]), $itemwidth, $sizevalue[$current]) EndSwitch $lightvalue[$current] -= $valuefade GUICtrlSetBkColor($light[$current], $lightvalue[$current]) Next EndIf Sleep($delay) Next WEnd EndFunc ;==>_display_progress Func messageHandler() If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit EndFunc ;==>messageHandler And there where more. If I find more I will post them. Regards ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
WolfWorld Posted September 6, 2007 Share Posted September 6, 2007 Very Nice Main project - Eat Spaghetti - Obfuscate and Optimize your script. The most advance add-on.Website more of GadGets! Link to comment Share on other sites More sharing options...
gseller Posted September 6, 2007 Share Posted September 6, 2007 Sweet! Link to comment Share on other sites More sharing options...
RazerM Posted September 6, 2007 Author Share Posted September 6, 2007 See update log in first post, _GUIEnhanceScaleWin centre is very nice. My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop. Link to comment Share on other sites More sharing options...
Armand Posted September 20, 2007 Share Posted September 20, 2007 interesting & very usefull !!! [u]My Au3 Scripts:[/u]____________(E)Lephant, A Share download manager (RS/MU etc)Http1.1 Console, The Ez Way!Internet Reconnection Automation Suite & A Macro Recording Tool.SK's Alarm Clock, Playing '.MP3 & .Wav' Files._________________Is GOD a mistake of the Humanity Or the Humanity is a mistake of GOD ?! Link to comment Share on other sites More sharing options...
MCP Posted October 11, 2007 Share Posted October 11, 2007 @RazerMRunning your nice include with Opt('MustDeclareVars', 1), I have found a few undeclared (thus unwillingly defined global) scopes.In _GUIEnhanceScaleWin, variable $iWidthDiffIn _GUIEnhanceCtrlDrift, variables $iDeltaX, $iDeltaY, $iError, $iDeltaError, $iYVal, $iYStepIn __ColorGradient, variables: $iNowBlue, $iNowGreenThanks! and HTH Link to comment Share on other sites More sharing options...
RazerM Posted October 11, 2007 Author Share Posted October 11, 2007 Thanks, the errors are fixed, download in first post. Glad you like it. My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop. Link to comment Share on other sites More sharing options...
Spymode Posted January 5, 2008 Share Posted January 5, 2008 Thanks RazerM Link to comment Share on other sites More sharing options...
WeMartiansAreFriendly Posted September 19, 2008 Share Posted September 19, 2008 This is really cool, RazerM! Don't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet() Link to comment Share on other sites More sharing options...
ChromeFan Posted September 19, 2008 Share Posted September 19, 2008 it's really a very good script, i am in love with it. thanks for the best GUI Enhancer UDF Website: www.cerescode.comForum: www.forum.cerescode.comIRC: irc.freenode.net , Channel: #Ceres--------------------Autoit Wrappers, Great additions to your script (Must See) (By: Valuater)Read It Befor Asking Question Click Here...--------------------Join Monoceres's Forums http://www.monoceres.se--------------------There are three kinds of people: Those who make things happen, those who watch things happen, and those who ask, ‘What happened?’” –Casey Stengel Link to comment Share on other sites More sharing options...
DeeRiee Posted September 22, 2008 Share Posted September 22, 2008 (edited) Hello, Your UDF is Very Cool!! >_< but, if i used in my gui even in your example, there is a little black on topleft and topright corner of gui...look at thisCan It Disappeared??It's look not good for me... Edited September 22, 2008 by member429 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