insomnai Posted October 18, 2011 Share Posted October 18, 2011 Hi guys and gals. I'm struggling with a little bit of a problem. I'm wanting to create an ini file which has all of the names of software types I want to install, but my initial test of this throws up a couple of errors when I test it. basically i'm using: $mTestMenu = GUICtrlCreateMenu(IniReadSectionNames(StringLeft(@ScriptDir,2) & "\tools\" & "Thisisan.ini") However, I can see where it is wrong on the theory side, essentially this is going to try and create a menu using the names of all the sections within a specified ini, whereas there should only be one name. What I want to generate is a menu that has a header, then the GUICtrlMenuItem's will be Sections from possibly a second ini? Perhaps this is too complex for what I want. The idea was for the menu content be filled with the other section names that are linked to the header. All in all, I want the menu system to be completely configurable from outside the .exe but struggling to choose the right context for this. Can anyone shed some light? Many thanks Link to comment Share on other sites More sharing options...
guinness Posted October 18, 2011 Share Posted October 18, 2011 About the error IniReadSectionNames() returns an Array not a String. About the rest I've seen this around the forum before so I did a quick search and found this >> UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 18, 2011 Moderators Share Posted October 18, 2011 insomnai, If I use this ini file: [Item 1] [Item 2] [Item 3] [Item 4] [Item 5] then this script does what you want: #include <GUIConstantsEx.au3> ; Read ini section names $aList = IniReadSectionNames("List.ini") ; Create an array to hold the CIDs of the menu items Global $aMenuItem[$aList[0] + 1] = [$aList[0]] ; Create the GUI $hGUI = GUICreate("Test", 500, 500) ; Create the menu $mMenu = GUICtrlCreateMenu("List") For $i = 1 To $aList[0] $aMenuItem[$i] = GUICtrlCreateMenuItem($aList[$i], $mMenu) Next GUISetState() While 1 $iMsg = GUIGetMsg() Switch $iMsg Case $GUI_EVENT_CLOSE Exit Case $aMenuItem[1] To $aMenuItem[$aList[0]] ; If it was a menu item - find which one For $i = 1 To $aList[0] If $iMsg = $aMenuItem[$i] Then MsgBox(0, "Menu", "Item " & $i) ExitLoop EndIf Next EndSwitch WEnd All clear? 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...
insomnai Posted October 18, 2011 Author Share Posted October 18, 2011 Melba23, thank you! It's about as clear as mud at this stage but it certainly is a step in the right direction. I knew it was going to be a bit harder, but I had no idea I was stepping into arrays etc, I've not done anything with them before. I just need to translate it in my head to something I can understand. I hate just using code that someone throws up here for me :-/ Any possibility you could explain it to me? Guiness, thank you aswell buddy, I happen to have come accross that post in my own searches but that one was waaaaay over my head. I'm still ploughing through the help file to see if there is something I might have overlooked, again, still a bit beyond me at the moment... Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 18, 2011 Moderators Share Posted October 18, 2011 insomnai, Any possibility you could explain it to me? First, I suggest you read the Arrays tutorial in the Wiki. Arrays are an essential element in every coder's toolbox and well worth a bit of effort to understand. In the script I posted above the IniReadSectionNames function returns an array of the section names - just like it says on the tin. We then create another array of the same size to hold the ControlIDs of the MenuItems we will create later. When we create the MenuItems we use a For...Next loop to loop through the array using each element in turn to create a MenuItem and storing the returned ControlID in the array we created earlier. When you click on a MenuItem, GUIGetMsg returns a ControlID, so we look in the Switch structure to see if the event is in the range covered by our MenuItems. If it is, we use another For...Next loop to identify the specific element. Does that help? 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...
insomnai Posted October 18, 2011 Author Share Posted October 18, 2011 Look... /pointsatfloor, it's hair. it's my hair. I pulled it out. This is me eating my own head. I need to do some reading ;-) I got to the IniReadSectionNames and it was a bit baffling... (still is a bit baffling) I will get there. Now i've got to work towards submenu's. Yaye. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 18, 2011 Moderators Share Posted October 18, 2011 insomnai, Learn to walk before you start to run. Make sure you understand how that code I posted works before getting any deeper or you will just end up here again in a few day very frustrated. 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...
guinness Posted October 18, 2011 Share Posted October 18, 2011 To add ... once you understand Arrays and how significant they can be, you'll never look back Learn to walk before you start to runWas just about to say that. OK here is another idiom "slow and steady wins the race" UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
insomnai Posted October 18, 2011 Author Share Posted October 18, 2011 Thank you both very much for your input. I've been experimenting with the code provided in order to try and understand the concept of the array, but it's the [0] + 1 bits and pieces that confuse. I have however been able to create a second menu from a second ini. I'm eventually going to create a gui that adds a new line to the respective ini. It's the sub menu and getting the choice to perform a run() on a chosen executable (preferably also marked in the ini too...) Again, thank you very much. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 18, 2011 Moderators Share Posted October 18, 2011 insomnai, it's the [0] + 1 bits and pieces that confuseYou must mean: Global $aMenuItem[$aList[0] + 1] = [$aList[0]] AutoIt (like many languages) starts arrays at element [0]. When we use IniReadSectionNames it returns an array where the number of returned items is held in the [0] element, so the array looks like this: [0] -- Number of items (3 in this case) [1] -- Item 1 [2] -- Item 2 [3] -- Item 3 Note the array actually has 4 elements - the 3 items and the count. To get a matching array to hold the ControlIDs, we need a similar sized array. We can do this one of 2 ways: - 1. Use the count we have in the [0] element of the existing array: $aMenuItem[$aList[0] + 1] in which case we need to add 1 to get the required size (3 + 1) or we could use UBound directly: $aMenuItem[UBound($aList)] as this returns the total number of elements. Has that cleared the air or muddied the waters? (I love mixing metaphors!) 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...
insomnai Posted October 18, 2011 Author Share Posted October 18, 2011 Ok, so lets see if i get this right... I've made some adjustments to more closely resemble my data needs but i'm after a measure of my understanding here: Specifies a variable '$ScriptDir' using 'StringLeft' so I am able to move the script to any location on a given drive letter. $ScriptDir = StringLeft(@ScriptDir,2) Specifies a variable '$mainmenu' which equals an array returned by 'IniReadSectionNames' $mainmenu = IniReadSectionNames($ScriptDir & "\config\" & "mainmenu.ini") This is the bit i'm most confused about. I'm a little unsure of why '$mainmenu[0] + 1' equals '[$mainmenu[0]]' ? Global $mainmenuItem[$mainmenu[0] + 1] = [$mainmenu[0]] Creates '$menuinstallers' which specifies the creation of a menu "installers" $menuinstallers = GUICtrlCreateMenu("Installers") Using a 'For' loop where $i equals number '1' counting towards the total count of the array captured by 'IniReadSectionNames' earlier? This loop creates a new menu item using 'GUICtrlCreateMenuItem' where the data matches the array captured earlier in '$mainmenu'?? The count steps every time 'Next' is passed in the script. For $i = 1 To $mainmenu[0] $mainmenuItem[$i] = GUICtrlCreateMenuItem($mainmenu[$i], $menuinstallers) Next Do I have this right? I need to look closer on the array but I'm trying to get my head round it. Thanks for everything so far. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 19, 2011 Moderators Share Posted October 19, 2011 insomnai, This is the bit i'm most confused aboutLet us try clear up the confusion. You are creating an array to hold the ControlIDs of the MenuItems - so obviously it needs to mirror the array with the item names so there is enough space. We have the number of item names in $mainmenu[0] - because that is how we get the array returned by IniReadSectionNames - so we use that to size the new array: Global $mainmenuItem[$mainmenu[0] + 1] We need to add 1 because the array starts at [0]. The 2 arrays will now look like this (assuming we have 3 items) Array $mainmenu $mainmenuItem [0] 3 - [1] Item 1 - [2] Item 2 - [3] Item 3 - I decided to add the count to the new menu as well - no particular reason, but I quite like counts in the [0] element - so I prefilled that element by declaring that value as I declared the array: Global $mainmenuItem[$mainmenu[0] + 1] = [$mainmenu[0]] So the arrays now look like this: Array $mainmenu $mainmenuItem [0] 3 3 [1] Item 1 - [2] Item 2 - [3] Item 3 - If I had wanted to I could have declared all the elements of the new array: Global $mainmenuItem[$mainmenu[0] + 1] = [$mainmenu[0], "Tom", "Dick", "Harry"] In which case the arrays would look like this: Array $mainmenu $mainmenuItem [0] 3 3 [1] Item 1 Tom [2] Item 2 Dick [3] Item 3 Harry But there is no need to pre-fill the array in this case as we will use the ControlIDs to fill it as we create the MenuItems. Any clearer? 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...
insomnai Posted October 19, 2011 Author Share Posted October 19, 2011 Absolutely, it's starting to make a lot of sense which is great! Question: How do I adapt this to have the menu's to contain sub-menu's? Now, to understand the For loop... Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 19, 2011 Moderators Share Posted October 19, 2011 insomnai, Now, to understand the For loop...A For...Next loop is almost an essential if you use arrays as it allows to access each of the array elements in turn. Let us start with our old friend $mainmenu: Element Value 0 3 1 Item 1 2 Item 2 3 Item 3 If we use a For...Next loop we can access each of these elements - try running this in SciTE: ; Declare the array and pre-fill it with values Global $mainmenu[4] = [3, "Item 1", "Item 2", "Item 3"] ; Now run the loop For $i = 1 To $mainmenu[0] ConsoleWrite($mainmenu[$i] & @CRLF) Next How does the loop work? Firstly we choose a variable to hold the "loop counter" - here I have called it $i but you can gve it any valid name. Then we define the start and end value that this variable can take - here we have told it to start at 1 and end at $mainmenu[0] (= 3). Then we tell the loop what to do. In this case we use the variable that will change within the loop to select a particular element of the $mainmenu array Finally we hit the Next satement. This increases the "loop counter" and compares it to the maximum value we set initially. If the value is less than or equal to the maximum value we repeat the "action" part of the loop; if it is greater then the loop stops. So in this case the "loop counter" variable starts at 1 - and the "action" part of the loop writes the content of the [1] element of the $mainmenu array. The "Next" command increases the counter to 2 and repeats the process for the [2] element - then we get to 3 and do it again for the [3] element. Finally "Next" will increase the counter to 4 - this is greater than the maximum value we set initially ($mainmenu[0] = 3) and so the loop stops. Any clearer? Question: How do I adapt this to have the menu's to contain sub-menu's?By adapting the same process and creating more arrays - but as we have said before: learn to walk before you try to run. Understand how this very basic script works before you get into more complex coding. 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...
Yashied Posted October 19, 2011 Share Posted October 19, 2011 (edited) For a collection. Edited October 19, 2011 by Yashied My UDFs: iKey | FTP Uploader | Battery Checker | Boot Manager | Font Viewer | UDF Keyword Manager | Run Dialog Replacement | USBProtect | 3D Axis | Calculator | Sleep | iSwitcher | TM | NetHelper | File Types Manager | Control Viewer | SynFolders | DLL Helper Animated Tray Icons UDF Library | Hotkeys UDF Library | Hotkeys Input Control UDF Library | Caret Shape UDF Library | Context Help UDF Library | Most Recently Used List UDF Library | Icons UDF Library | FTP UDF Library | Script Communications UDF Library | Color Chooser UDF Library | Color Picker Control UDF Library | IPHelper (Vista/7) UDF Library | WinAPI Extended UDF Library | WinAPIVhd UDF Library | Icon Chooser UDF Library | Copy UDF Library | Restart UDF Library | Event Log UDF Library | NotifyBox UDF Library | Pop-up Windows UDF Library | TVExplorer UDF Library | GuiHotKey UDF Library | GuiSysLink UDF Library | Package UDF Library | Skin UDF Library | AITray UDF Library | RDC UDF Library Appropriate path | Button text color | Gaussian random numbers | Header's styles (Vista/7) | ICON resource enumeration | Menu & INI | Tabbed string size | Tab's skin | Pop-up circular menu | Progress Bar without animation (Vista/7) | Registry export | Registry path jumping | Unique hardware ID | Windows alignment More... Link to comment Share on other sites More sharing options...
insomnai Posted October 20, 2011 Author Share Posted October 20, 2011 Melba, you are a true help and my thanks go to you on that one. Can you please PM me your email address? I have a 'gift' for you for all your help and tutorage. ;-) insomnai Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 21, 2011 Moderators Share Posted October 21, 2011 insomnai, Just PM me. 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...
insomnai Posted October 21, 2011 Author Share Posted October 21, 2011 Melba, I have PM'd you. Enjoy the 'gift' :-) 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