Good evening everyone
First, I want to apologize with you for the title not very clear, but I thought a little bit on which title to set at the thread, and this is the one that came in mind.
Now, let me explain what I'm trying to understand.
I am making an application ( with n clients ), with an SQLite Database, which has a Main form, and n sub-forms...
Since these sub-forms are called several times, because they are used to add or update records to the Database, I put the code that generates the GUI of these sub-forms in Functions.
There are two sub-forms which are "treated" as two main forms, since even them have n sub-forms, which perform various tasks.
Where am I stucked?
For the Main form I created a Status Bar, in order to display messages ( add/delete/update/search results ), and it works perfectly with all the forms which don't have other sub-forms.
For the two forms, which indeed have n sub-forms, I created two separated Status Bars, which are (re)created everytime I call the function that then displays the form.
Practically, I can't set icons to these two Status Bars, and I don't know why.
I'm really sorry that I don't feel clear enough, so, here you are an example of what I am saying.
I recreated exactly what my script does:
#include <GuiButton.au3> #include <GUIConstantsEx.au3> #include <GuiStatusBar.au3> #include <WindowsConstants.au3> Opt("GUIOnEventMode", 1) Global $frmSubForm, _ $txtSubFormField, _ $sbSubFormStatusBar, _ $objSB_IconError = _WinAPI_LoadShell32Icon(109), _ $objSB_IconInformation = _WinAPI_LoadShell32Icon(277) #Region ### START Koda GUI section ### Form= $frmMainForm = GUICreate("Main Form", 300, 300, -1, -1) GUISetOnEvent($GUI_EVENT_CLOSE, "ExitApplication") $sbMainStatusBar = _GUICtrlStatusBar_Create($frmMainForm) $btnCreateSubForm = GUICtrlCreateButton("Create Sub Form", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "GenerateSubForm") GUICtrlSetFont(-1, 10, 400, 0, "Arial") _GUICtrlStatusBar_SetSimple($sbMainStatusBar) _GUICtrlStatusBar_SetText($sbMainStatusBar, "") GUISetState(@SW_SHOW, $frmMainForm) #EndRegion ### END Koda GUI section ### While 1 Sleep(100) WEnd Func ExitApplication() Exit EndFunc Func GenerateSubForm() #Region ### START Koda GUI section ### Form= $frmSubForm = GUICreate("Sub-Form", 300, 300, -1, -1, -1, -1, $frmMainForm) GUISetOnEvent($GUI_EVENT_CLOSE, "DeleteSubForm") $txtSubFormField = GUICtrlCreateInput("", 0, 0, 100, 20) $btnCheckSubFormField = GUICtrlCreateButton("Check Field", 105, 110, 75, 41, BitOR($BS_CENTER,$BS_VCENTER,$BS_MULTILINE)) GUICtrlSetOnEvent(-1, "CheckSubFormField") GUICtrlSetFont(-1, 10, 400, 0, "Arial") $sbSubFormStatusBar = _GUICtrlStatusBar_Create($frmSubForm) _GUICtrlStatusBar_SetSimple($sbSubFormStatusBar) _GUICtrlStatusBar_SetText($sbSubFormStatusBar, "") GUISetState(@SW_SHOW, $frmSubForm) GUISetState(@SW_DISABLE, $frmMainForm) #EndRegion ### END Koda GUI section ### EndFunc Func DeleteSubForm() ; Declared Globally => $frmSubForm GUIDelete($frmSubForm) GUISetState(@SW_ENABLE, $frmMainForm) EndFunc Func WriteToStatusBar($sbStatusBar, $objSB_Icon, $strText) _GUICtrlStatusBar_SetIcon($sbStatusBar, 0, $objSB_Icon) _GUICtrlStatusBar_SetText($sbStatusBar, $strText) ConsoleWrite("Icon Handle: " & $objSB_Icon & @CRLF) EndFunc Func CheckSubFormField() ; Declared Globally => $txtSubFormField If GUICtrlRead($txtSubFormField) = "" Then ; Declared Globally => $sbStatusBar WriteToStatusBar($sbSubFormStatusBar, $objSB_IconError, "Field NOK.") Else WriteToStatusBar($sbSubFormStatusBar, $objSB_IconInformation, "Field OK.") EndIf EndFunc The text is set, but icon is not.
Could someone please tell me why?
Thanks everyone in advance
I look for GUI whose behavior similar to the message of an email client or antivirus
In other words:
Any PC screen able to calculate the size
To consider the Task bar size
To find the lower corner on the right/below and to nestle on it
In GUI the GUICtrlCreateEdit field (as option) - that can be received and displayed through variable information
Thanks a lot
I use the translator, excuse if something is not clear
I have a request
I want a simplified example of how to create the toolbar
With an example of pressing the buttons inside this bar
Toolbar contains Three buttons
open, save, And delete
and i want If i press a button from among these buttons a MSGBox appears
I know this is easy
But I did not know how to do it
I hope you help me
I apologize for the inconvenience
Thank you in advance
I'd like to show a progress bar for an operation performed by an external program my script is running silently, I want to show it in a GUI I created using the GUICtrlCreateProgress but I have no idea how to do it.
The important thing to point out is that there's no way of knowing how long the external program will run, as it is a file splitter and it depends on the size of file it splits and the split parts size.
Can someone point me in the right direction or give me an example how to do so?
This is my RunWait command:
RunWait($MYFILES1 & '\fsplit.exe -split ' & $Size & ' mb ' & $File & " -f " & $File & "." & $extension) It uses multiple variables declared and set earlier in the script, how will I got about having the progress of that command shown using GUICtrlCreateProgress ? Is it possible?
MapIt is a tile world editor. MapIt was built around the concept of reversing Dragon Warrior map images. MapIt can take image input and produce a tile and world array.
MapIt features Unity style dragable labels that adjust property values.
MapParser is a C++ project that scans images for unique tiles. MapParser is very fast. Due to hard drive failure, many bugs were restored b/c I had to rewind many years. Frustrated with the design, I wrote a new version from the ground up. This New Version: AutoIt Front-end, command line controls, and shared with the world; so that I can't lose it again.
You can toggle the C++ MapParser off to see the difference in speeds between the MapParser CPP verse AutoIt function. Function is named Scan_Tiles() in AutoIt. You can also chose to download without MapParser.exe.
At the moment Scanning a image resets the arrays, but you can add tiles after scanning.
Images can be added as tiles without scan image at all. Then configure settings to give your world parameters and manually fill the world data with tile indexes.
Using the settings you can change tile size after a scan. Example: you wanted to replace a map with different sized tiles.
Changing and replacing tile / world data is easy. B/c tile world editor.
Hotkeys, I use CTRL+R in image above to signal replace tile action and I use "G" to Get the tile under mouse.
Hotkeys are not saved to disk and thus are set to default between sessions.
I might draw the world to pre-rendered surfaces and use them as multi-layer someday. I do that in my AutoIt, DragonWarrior Remake but I could spend forever unsure what features are important for this. The DW_Remake has a method of replacing a tile with a tile on two layers. So you could replace a tree on the first layer with a grass, and a tree in the second layer. This is all getting very confusing.
I attempted to write the good code. If something could be better, please advise.
Fifth release. Enjoy.
For download, videos, and example of created world file data; please visit the MapIt webpage: http://songersoft.com/programming/mapit/mapit_about.phtml
Special thanks: @AdmiralAlkex, @Melba23, @MrCreatoR
Main AutoIt source file: Will not run without other Includes and SDL DLLs.
Last Update: 5/26/2018 3:45 PM EST
REMOVED CODE BLOCK: I was informed the this page loaded very slowly, one solution so far has been to remove the 2k lines in the code block.
When I recieve more feedback from the User I may reduce image size or remove images.
Next Version Added: $eSETTING_TILE_LAST_PATH I have the weekend, I want to write world layers with aBoard surfaces.