tbohon Posted October 24, 2017 Share Posted October 24, 2017 (edited) So for the first time in a couple of years I'm actively working with AutoIT (and enjoying it immensely) but have run into a small issue. The code below runs fine - it should, it's what a dozen lines or so? - except for changing the $Label2 from ENABLEd to DISABLEd. Obviously I'm not doing something right but have run out of ideas after studying the Help file and looking at other examples. Idea is to have the state of $Label2 change from ENABLEd to DISABLEd and vice-versa with each click of $Button1. Help? Thanks in advance #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("My First AutoIT Project (in a long time)", 623, 449, -1, -1) $Label1 = GUICtrlCreateLabel("Click the button ---> ", 135, 88, 218, 33) GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif") $Button1 = GUICtrlCreateButton("Click me!", 383, 80, 105, 49) $Label2 = GUICtrlCreateLabel("You clicked me!!!!!", 202, 208, 218, 44) GUICtrlSetFont(-1, 20, 400, 0, "MS Sans Serif") GUICtrlSetState(-1, $GUI_DISABLE) $Button2 = GUICtrlCreateButton("Exit", 544, 400, 57, 33) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 If GuiCtrlGetState($Label2) = $GUI_ENABLE Then GuiCtrlSetState($Label2, $GUI_DISABLE) Else GUICtrlSetState($Label2, $GUI_ENABLE) EndIf Case $Button2 Exit EndSwitch WEnd Edited October 24, 2017 by tbohon Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 24, 2017 Moderators Share Posted October 24, 2017 tbohon, GUICtrlGetState can return a mixture of states - in this case you also get a $GUI_VISIBLE state as well as the $GUI_ENABLE/DISABLE state. So you need to use BitAND to check if the correct bits are set: #include <GUIConstantsEx.au3> $Form1 = GUICreate("My First AutoIT Project (in a long time)", 623, 449, -1, -1) $Label1 = GUICtrlCreateLabel("Click the button ---> ", 135, 88, 218, 33) $Label2 = GUICtrlCreateLabel("You clicked me!!!!!", 202, 208, 218, 44) GUICtrlSetState(-1, $GUI_DISABLE) $Button1 = GUICtrlCreateButton("Click me!", 383, 80, 105, 49) $Button2 = GUICtrlCreateButton("Exit", 544, 400, 57, 33) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit Case $Button1 If BitAND(GUICtrlGetState($Label2), $GUI_ENABLE) Then GUICtrlSetState($Label2, $GUI_DISABLE) Else GUICtrlSetState($Label2, $GUI_ENABLE) EndIf Case $Button2 Exit EndSwitch WEnd Please ask if you have any questions. M23 232showtime 1 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...
tbohon Posted October 25, 2017 Author Share Posted October 25, 2017 Many thanks ... not sure I would have figured this out anytime this century. Have forgotten SO much after my hiatus ... kind of like starting all over. Appreciate it!!! Tom 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