Jump to content
Sign in to follow this  
LetsAuto

if button is clicked..? {SOLVED}

Recommended Posts

Hi everyone... i need a little help getting a button click statement to work.. this is what i have..

#include
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("CALs", 494, 408, 425, 188)
$serverButton = GUICtrlCreateButton("Server", 112, 72, 105, 41)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$deskButton = GUICtrlCreateButton("Desktop", 256, 72, 105, 41)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$calListBox = GUICtrlCreateList("", 136, 136, 201, 206)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
$sValue = IniRead("C:\IanLogTest\radioButton.ini", "Breed", "Radio Checked", "Error!")
Switch $sValue
Case "0"
if $serverButton Then
_GUICtrlListBox_InsertString($calListBox,"test")
EndIf
Case "1"
Run("C:\Program Files\AutoIt3\AutoIt3.exe F:\AutoIt3\testings\auto\dogs.au3")
Case "3"
Run("C:\Program Files\AutoIt3\AutoIt3.exe F:\AutoIt3\testings\auto\dogs.au3")
Case "5"
Run("C:\Program Files\AutoIt3\AutoIt3.exe F:\AutoIt3\testings\auto\dogs.au3")
EndSwitch
EndSwitch
WEnd

what i want it to do is.. if $serverButton is pressed when $sValue = "0" then display "test" in the $calListBox.... i just dont know how to say IF the button is pressed THEN do THIS - in autoit....

Edited by LetsAuto

Share this post


Link to post
Share on other sites

yes, but i need the nested IF within Case "0" to work... i can make buttons click with switch...case.. thats easy, but i cant get a switch case to work within a case.. so i tried the if... i need help getting the

If $serverButton is clicked Then

show data in list box

else if $deskButton is clicked Then

show other data in list box

end if

Share this post


Link to post
Share on other sites

but the thing is, depending on what is in quotes ("0, "3"...) different information will populate the list box, so wouldnt i need a specific Switch for that?..

$sValue = IniRead("C:IanLogTestradioButton.ini", "Brand", "Radio Checked", "Error!")
Switch $sValue
Case "0"
$serverClick = _GUICtrlButton_Click($serverButton)
Switch $serverClick
Case True
_GUICtrlListBox_InsertString($calListBox, "test")
EndSwitch

;~ If _GUICtrlButton_Click($serverButton) Then
;~ _GUICtrlListBox_InsertString($calListBox, "test")
;~ EndIf
Case "1"
Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardCALs.au3")
Case "3"
Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardCALs.au3")
Case "5"
Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautoWizardCALs.au3")
EndSwitch

something like that i would think, however that exact wording does not work

Share this post


Link to post
Share on other sites

Maybe something like this???

#include
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#region ### START Koda GUI section ### Form=
$Form1 = GUICreate("CALs", 494, 408, 425, 188)
$serverButton = GUICtrlCreateButton("Server", 112, 72, 105, 41)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$deskButton = GUICtrlCreateButton("Desktop", 256, 72, 105, 41)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$calListBox = GUICtrlCreateList("", 136, 136, 201, 206)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $serverButton
            $sValue = IniRead("C:IanLogTestradioButton.ini", "Breed", "Radio Checked", "Error!")
            Switch $sValue
                Case "0"
                    _GUICtrlListBox_InsertString($calListBox, "test")
                Case "1"
                    Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautodogs.au3")
                Case "3"
                    Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautodogs.au3")
                Case "5"
                    Run("C:Program FilesAutoIt3AutoIt3.exe F:AutoIt3testingsautodogs.au3")
            EndSwitch
    EndSwitch
WEnd

BTW, the description of your question is extremely vague, you should explain in detail what it is you're trying to do if this script doesn't do it for you.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Zobu
      Hey Guys,
      I want to add a new checkbox with its own variable every time the add button is clicked.
      The added checkboxes should remain when I close the window or exit the script and when I reopen I should be able to add new checkboxes aswell.
      here is what I have so far..
      #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #include <EditConstants.au3> #include <MsgBoxConstants.au3> #include <GuiButton.au3> $test = GUICreate("adding test", 475, 345, 500, 175) $Check1 = GUICtrlCreateCheckbox("Checkbox 1", 15, 25, 300, 25) $Button = GUICtrlCreateButton("Add", 365, 25, 90, 20) $Check2 = GUICtrlCreateCheckbox("Checkbox 2", 15, 50, 300, 25) $Check3 = GUICtrlCreateCheckbox("Checkbox 3", 15, 75, 300, 25) GUICtrlSetState($Check2, $GUI_HIDE) GUICtrlSetState($Check3, $GUI_HIDE) GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ; Exit Case $Button GUICtrlSetPos($Check2, 15, 50, 300, 25) GUICtrlSetState($Check2, $GUI_SHOW) Case $Button GUICtrlSetPos($Check3, 15, 75, 300, 25) GUICtrlSetState($Check3, $GUI_SHOW) EndSwitch WEnd  
    • By MarcoMonte
      Hello Everyone,
      Hoping someone can help me,
      I am totally stuck on this problem,

      I cannot reach the textarea and the button in a maps page that I get by clicking on a button in a previus page, the only way I can interact with this is using tab and mouseclick but this is a danger method as  you know.

      I get the handle by using: $Posizione = _IEAttach("Ricerca Indirizzo su mappa")

      then I tried a lot of things but nothing works, can someone give me a hint?
      --------------------
      WinWait("Ricerca Indirizzo su mappa")
      sleep(1000)
      $Posizione = _IEAttach("Ricerca Indirizzo su mappa")
      WinSetState ("Ricerca Indirizzo su mappa", "", @SW_MAXIMIZE  )
      WinActivate("Ricerca Indirizzo su mappa")
      sleep(500)
      ;~ $oForm = _IEFormGetObjByName($Posizione, "form1");Punta il Form
      $oText = _IEFormElementGetObjByName($Posizione,"indirizzo")
      $oText = _IEFormElementGetObjByName($Posizione,"writeAddress")

      ;~ $LenteTestoMess = _IEFormElementGetValue($oText);Inserisce il PrimoRepertorio nella variabile
      ;~ _IELinkClickByText($Posizione, $oForm);Clicca su Aggiorna ed invia il form
      _IEFormElementSetValue ($oText,"via Ravenna 12" );Completamento campo testo
      ----------------------------------------------------
      Mappa.odt Ricerca Indirizzo su mappa.htm
    • By Jamestay97
      Hello! Thanks you for looking at my post
      **No source code I'm sorry work related can't copy information**
      I've been using autoit for about 1 year. 
      I'm having trouble automating a click on an internet explorer web page and I've tried a lot of examples from help pages and forums already. The object I'm trying to click on isnt always in the same spot so I can't use mouse click or control click, I have tried to use the different get collection options and clickbyname, or index or get object. I'm just struggling. 
      Description of object I'm trying to click -- 
      HTML Code looks like <a ng-click.. "Click Here" it appears it's just a click able object named "click here" that opens a hidden window by running a script inside the web page. I'm not able to grab the information from the window unless it's open so I have to automate this click somehow. 
       
      I understand it's difficult to assist without having something to look at, I apologize for that sincerely and appreciate and assistance and suggestions. 
    • By MrCreatoR
      This UDF allows to set an events handler for Mouse device.
       
      The beginning...
      I searched for a way to disable the Mouse Primary click, and be able to call some function when the click event is received...
      Big thanks to amel27 for this one, i only organized the whole stuff to UDF style.
       
      Example:
      #include <GUIConstantsEx.au3> #include "MouseOnEvent.au3" HotKeySet("{ESC}", "_Quit") _Example_Intro() _Example_Limit_Window() Func _Example_Intro() MsgBox(64, "Attention!", "Let's set event function for mouse wheel *scrolling* up and down", 5) ;Set event function for mouse wheel *scrolling* up/down and primary button *down* action (call our function when the events recieved) _MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT, "_MouseWheel_Events") _MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT, "_MouseWheel_Events") _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event") Sleep(3000) ;UnSet the events _MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT) _MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT) _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT) ToolTip("") MsgBox(64, "Attention!", "Now let's disable Secondary mouse button up action, and call our event function.", 5) _MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", 0, 1) Sleep(5000) _MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT) ToolTip("") EndFunc Func _Example_Limit_Window() Local $hGUI = GUICreate("MouseOnEvent UDF Example - Restrict events on specific window") GUICtrlCreateLabel("Try to click on that specific GUI window", 40, 40, 300, 30) GUICtrlSetFont(-1, 12, 800) GUICtrlCreateLabel("Press <ESC> to exit", 10, 10) GUISetState() _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event", $hGUI) ;A little(?) bugie when you mix different events :( ;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", $hGUI) While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $GUI_EVENT_PRIMARYDOWN MsgBox(0, "", "Should not be shown ;)") EndSwitch WEnd _MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT) ;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT) EndFunc Func _MouseWheel_Events($iEvent) Switch $iEvent Case $MOUSE_WHEELSCROLLDOWN_EVENT ToolTip("Wheel Mouse Button (scrolling) DOWN Blocked") Case $MOUSE_WHEELSCROLLUP_EVENT ToolTip("Wheel Mouse Button (scrolling) UP Blocked") EndSwitch Return $MOE_BLOCKDEFPROC ;Block EndFunc Func _MousePrimaryDown_Event() ToolTip("Primary Mouse Button Down Blocked") Return $MOE_BLOCKDEFPROC ;Block EndFunc Func _MouseSecondaryUp_Event() ToolTip("Secondary Mouse Button Up Blocked") EndFunc Func _Quit() Exit EndFunc  
      Available Events Constants:
       
      ------------------------------------------
      CHANGELOG:
      Download:
      Attached:     MouseOnEvent_2.4.zip
      Old version:
      MouseOnEvent.zip - v2.3
      MouseOnEvent_2.1.zip
      MouseOnEvent_2.0.zip
      MouseOnEvent_UDF_1.9.zip
      MouseSetOnEvent_UDF_1.8.zip
      MouseSetOnEvent_UDF_1.7.zip
      MouseSetOnEvent_UDF_1.6.zip
      MouseSetOnEvent_UDF_1.5.zip
      MouseSetOnEvent_UDF_1.4.zip
      MouseSetOnEvent_UDF_1.3.zip
      Previous downloads: 146 + 200 + 804
      MouseOnEvent.zip
      MouseOnEvent.zip
    • By nacerbaaziz
      good morning all.
      first lit me give you all a thinks to your help
      you're help me allot thank you all.
      sirs today i've a new problem
      it's not a problem but thing i want to add it to blind accessability.
      the ListBox can send a notification when the user send a double click on it items
      but as we know that the blind users can't use the mouse for that they use the keybord to navigate.
      as we know that the enter replace the double click on the keybord
      for that i need when the user send a inter above any listBox item the list send a double click notification.
      i know some of you tell me that i can use the  GUISetAccelerators function
      but the enter has a other tasks such as leav a blanc line on edits and activate the defaultButton and other tasks.
      that what i need and i hope that you can help me
      this is a simple example.
      #include <GUIConstantsEx.au3> #include <StructureConstants.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> #include <ListBoxConstants.au3> Example() Func Example() Local $sMESSAGE = "The following buttons have been clicked" GUICreate("My GUI list") ; will create a dialog box that when displayed is centered Local $idButton_Add = GUICtrlCreateButton("Add", 64, 32, 75, 25) Local $idButton_Clear = GUICtrlCreateButton("Clear", 64, 72, 75, 25) global $idMylist = GUICtrlCreateList("buttons that have been clicked", 176, 32, 121, 97) GUICtrlSetLimit(-1, 200) ; to limit horizontal scrolling GUICtrlSetData(-1, $sMESSAGE) global $DummyList = GUICtrlCreateDummy() GUICtrlSendToDummy($DummyList, 1) Local $idButton_Close = GUICtrlCreateButton("my closing button", 64, 160, 175, 25) GUIRegisterMsg($WM_command, "WM_command") GUISetState(@SW_SHOW) ; Loop until the user exits. While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE ExitLoop Case $idButton_Add GUICtrlSetData($idMylist, "You clicked button No1|") Case $idButton_Clear GUICtrlSetData($idMylist, "") Case $idButton_Close MsgBox($MB_SYSTEMMODAL, "", "the closing button has been clicked", 2) Exit case $DummyList $g_iTemp = GUICtrlRead($DummyList) if $g_iTemp = $LBN_DBLCLK then ;$LBN_DBLCLK then msgBox(64, "", "") endIf GUICtrlSendToDummy($DummyList, 0) EndSwitch WEnd EndFunc ;==>Example Func WM_command($hWnd, $iMsg, $wParam, $lParam) #forceref $hWnd, $iMsg Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam) $hWndFrom = $lParam $iCode = BitShift($wParam, 16) ; Hi Word Switch $hWndFrom Case GUICtrlGetHandle($idMylist) Switch $iCode Case $LBN_SELCHANGE, $LBN_DBLCLK, $LBN_SELCANCEL, $LBN_SETFOCUS GUICtrlSendToDummy($DummyList, $iCode) case else ;GUICtrlSendToDummy($DummyTreeview, 1) EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc  
×
×
  • Create New...