Recently Browsing 0 members
No registered users viewing this page.
GuiBuilderPlus is a small, easy to use GUI designer for AutoIt.
Originally created long ago as AutoBuilder by the user CyberSlug, enhanced as GuiBuilder by TheSaint, and further enhanced and expanded as GuiBuilderNxt by jaberwacky, GuiBuilderPlus is a continuation of their great work, with a focus on increased stability and usability followed by new features.
Yes, I have decided to bring back our old friend the GuiBuilder. This utility has a long history, which you can read about in TheSaint's Gui Creators topic, starting all the back back with CyberSlug's AutoBuilder. Even though I've hacked the original code to pieces in order to document and better understand what is going on, the essence of GuiBuilder still lives on!
I am using the awesome updates from GuiBuilderNxt by jaberwacky as a starting point since he already did a lot of the hard work of parsing and updating the original code, plus I really like the layout that came about from that update. Unfortunately development seems to have stopped in 2016.
Not sure how much interest there is in this, but suggestions and bug reports are welcome.
See Full Changelog:
Download the latest version v1.0.0-beta3 (2022-09-17)
GuiBuilderPlus v1.0.0-beta3 - 2022-09-17.zip
FIXED: #include's are now more dynamic (don't include constants unless they are needed) FIXED: Removed extra GuiCreateTabItem("") for each tab FIXED: Extra GuiCreateTabItem("") for each tab FIXED: Radio and Checkbox control size when drawing ADDED: Button styles BS_LEFT, BS_RIGHT ADDED: Import/parse an existing AU3 file as GUI CHANGED: Cleaner generated code by spacing Tabs and Groups
Project Roadmap (in no particular order)
Undo / Redo functionality Extended styles Updated settings dialog with additional options (grid size) Toolbar with save, open, and test buttons
The more projects I work on, the harder it is to find old scripts I created with certain techniques in them. I'd like to leave this here for others to get an idea from and it will be available now by keyword searching in this forum.
This project needed an evenly distributed button grid setup on a touch screen with half decent sized buttons and spacing so the user would be less likely to press the key beside it. Here is one quick example to give anyone an idea of a way to handle it.
#include <GUIConstants.au3> GUICreate("Button Grid", 1080, 100) ; will create a dialog box that when displayed is centered GUISetState(@SW_SHOW) ; will display an empty dialog box ;--Create and Position Controls Dim $btnActivated ;Col 1 is button id, Col 2 is True/False used in 1 example as depressed Dim $btnArray ;Col 1 is button id, Col 2 is True/False used in 1 example as depressed $num = 0 $btnActivated = GUICtrlCreateButton("Activated", 0, 0, 100, 100) ;x,y,w,h $btnActivated = True GUICtrlSetBkColor(-1,0x00ff00) GUICtrlSetColor(-1,0x005500) GUICtrlSetFont(-1,14) For $Y = 0 To 1 For $X = 0 To 7 ConsoleWrite( ($X * 100) + ($X*20) + 120 & @CRLF) If $Y=0 Then $btnArray[$num] = GUICtrlCreateButton($num + 1, ($X * 100) + ($X*20) + 120, 0, 100, 40) ;x,y,w,h Else $btnArray[$num] = GUICtrlCreateButton($num + 1, ($X * 100) + ($X*20) + 120, ($Y * 40) + $Y*20, 100, 40) ;x,y,w,h EndIf GUICtrlSetBkColor($btnArray[$num], 0xFFFFFF) $num += 1 Next Next ;--Set Button Names GUICtrlSetData($btnArray,"Autoit") GUICtrlSetData($btnArray,"Is") GUICtrlSetData($btnArray,"Cool") ; Run the GUI until the dialog is closed While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE ExitLoop Case $btnActivated $btnActivated = NOT $btnActivated If $btnActivated Then GUICtrlSetBkColor($btnActivated,0x00ff00) GUICtrlSetColor($btnActivated,0x005500) GUICtrlSetData($btnActivated,"Activated") GUICtrlSetFont($btnActivated,14) Else GUICtrlSetBkColor($btnActivated,0xFF9999) GUICtrlSetColor($btnActivated,0x550000) GUICtrlSetData($btnActivated,"DeActivated") GUICtrlSetFont($btnActivated,13) EndIf Case $btnArray If $btnActivated Then MsgBox(0,"Notice","Btn1",1) EndIf Case $btnArray If $btnActivated Then MsgBox(0,"Notice","Btn2",1) EndIf Case $btnArray If $btnActivated Then MsgBox(0,"Notice","Btn3",1) EndIf EndSwitch WEnd I couldn't find one of my old projects that broke the button array into more columns that included the actual button name in the field. Feel free to share your own or share a more flexible version of this simple example.
I am making some GUI with combobox for the Baudrates communications and I listed 9600, 57600, 115200.
I wrote the code to be defaulted to 57600 like this:
GUICtrlSetData($comboBox_opticalBaudRate, "9600|57600|115200", "57600")
But I wanted the GUI to remember the last item the user picks so the baudrates will NOT be defaulted to 57600.
Example, I pick 9600 as my baudrates, then I close the GUI, after opening it, it always prompt 57600 since that is what I did in my code. But I want that if I choose 9600 and close the GUI, opening it again will show 9600 now instead of 57600.
Is there a way to do it in GUI setting?
As many of you may not be aware, of much about AutoIt's humble beginnings, and aspects related to the first GUI version of AutoIt, I thought it might be nice to create a historical reference here for all the many GUI creators that have been created by various people over the years.
NOTE - While one could argue, that this topic might be better placed in one of the Chat forums, I would argue, that it links to heaps of good code. While much may be redundant in that code, it is still interesting and forms a great perspective. Many are bound to find useful elements at the very least.
Koda, is no doubt the most well-known GUI creator now, but there was a time, when CyberSlug's legendary GUIBuilder (first known as AutoBuilder) ruled the roost, and AutoIt coder's saw it as a Godsend. AutoIt coding was much simpler back then of course.
Below, will be a timeline, of any AutoIt GUI creators listed in forum pages. It will be added to by myself as I find them or as others here find them and place a link in a subsequent post ... PLEASE HELP! Comments welcome too.
(Also note, that this is also intended to include updates, branches etc by others)
Apr 20 2004 - AutoBuilder by CyberSlug.
Sep 27 2004 - An interesting topic, where CyberSlug talks about the future of AutoBuilder (etc) and renaming to GUIBuilder and you see the first mentions and links to updates by others (including myself & livewire).
Nov 05 2004 - A topic where lookfar is working on a SciTE replacement, talks about starting a Form Designer.
Aug 10 2005 - GuiBuilder first update by TheSaint.
Sep 26 2005 - GUIBuilder updates by livewire (he also talks about transferring his efforts to Koda).
Nov 02 2005 - KODA FormDesigner v1.3 by lookfar
Nov 03 2005 - Seemingly interesting topic about forms by tonedeaf
Dec 26 2005 - AutoIt Studio(beta) by BillLuvsU
Jan 09 2006 - AutoBuilder update (or branch) by _^__darkbytez (livewire also posts).
Feb 19 2006 - Koda v1.5 by lookfar
Sep 07 2006 - Koda v22.214.171.124 by Lazycat
Jan 07 2007 - Form/GUI Builder by FlintBrenick
Jun 10 2007 - Gorganizer by _Kurt (more of an assister than actual GUI maker)
Jun 27 2007 - Basic GUI Designer by Mast3rpyr0
May 03 2008 - Autoit Programmer's Desktop (APD) by Ealric
Jul 11 2008 - Gui Designer by Alek
Aug 11 2008 - Gorganizer update by _Kurt
Jun 19 2009 - Easy GUI by Mat
Aug 13 2009 - GUI Script Creator by Pandemic (not sure this qualifies, but it made me think of templates)
Aug 16 2010 - Creation Gui by AZJIO
Jan 22 2012 - ISN AutoIt Studio by ISI360 (includes ISN Form Studio 2, a GUI editor)
Mar 19 2012 - Arduino GUI Programmer by nikosliapis (creates a specific type of GUI)
Aug 01 2012 - GuiBuilder Resurrected update/branch to GUIBuilder by baroquebob
Dec 01 2012 - Form Builder beta (v1.0.6) by BuckMaster
Jan 12 2015 - GUIBuilderNxt update by jaberwacky of GUIBuilder v0.8 (as a new prototype, modified to work with latest AutoIt) (not a update to the Resurrected version)
Aug 12 2016 - The GuiBuilder Return by DFerrato as an update to GUIBuilder,
Jan 17 2017 - GUIBuilder Project by TheSaint (a work in progress based on CyberSlug's original ... and later versions, updated by Roy, TheSaint & others).
May 29 2019 - The GuiBuilder Return by DFerrato as an update to GUIBuilder, His new and improved version.
May 9 2022 - GuiBuilderPlus by kurtykurtyboy as an update to GUIBuilder. A new an improved version with more to come.
There are a significant number of creators/designers that have been started and never completed.
+++++ STILL UNDER CONSTRUCTION +++++
P.S. Well that's it from me tonight. I know of at least one other major creator, but cannot recall it's name or the name of the coder, though I think it starts with 'L'. Bound to be a few I've missed, and some I cannot seem to find their first appearance here (Koda, Form Builder, etc), but there may be an obvious reason for that. Will probably rely on feedback from others now that I've got the ball rolling.
NOTE - If anyone wants to discuss any of these programs above or give some background history, then by all means do so. I will cross-reference (link to) any important comments.
#Region ### START Koda GUI section ### Form=C:\Users\Engr. Ashraful\Videos\koda_126.96.36.199\Forms\ProgramPlayer\FormProgamToOpen.kxf
$FormInput = GUICreate("Input", 302, 205, 454, 285)
$Resolution = GUICtrlCreateCombo("Resolution", 80, 24, 145, 25)
$ComboProgramType = GUICtrlCreateCombo("Program Type Selection", 80, 64, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$ButtonEnter = GUICtrlCreateButton("Enter", 104, 104, 75, 25)
#EndRegion ### END Koda GUI section ###
$nMsg = GUIGetMsg()
please help me to read combo box input and use the value for another function/ work