Lantz Posted October 19, 2013 Share Posted October 19, 2013 Hey! What is the best way to simulate clicking a button within your own gui? Background: I have two buttons next and previous, when clicked they increment or decrease an integer variable that is then used to tell a different part of the program what page to display. But to update and show the new display I currently manually have to click a button. Link to comment Share on other sites More sharing options...
Lantz Posted October 19, 2013 Author Share Posted October 19, 2013 I have tried using controlclick but i am reluctant to use any command that references the title of the window as that might change in the future. I have tried passing the handles of the window and the handle of the button to controlclick without success. ControlClick($RunCommands[0][2],"",$RunCommands[11][2]) Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted October 19, 2013 Moderators Share Posted October 19, 2013 Lantz,Place the code to run when the button is pressed within a function - then when you need to simulate a button press you just run the function programatically. 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...
Solution Lantz Posted October 19, 2013 Author Solution Share Posted October 19, 2013 Solved my own problem, it´s debatable if its the best solution but certainly good enough for me: GUICtrlSendMsg($RunCommands[11][2],$BM_CLICK,0,0) This simulates a button click on button $RunCommands[11][2] buymeapc 1 Link to comment Share on other sites More sharing options...
Lantz Posted October 19, 2013 Author Share Posted October 19, 2013 (edited) I though maybe this time i will be fast enough to figure out the problem for my self before you do, but I guess you cant beat a dragon The idea to place the "task" in a function had accrued to me, but honestly I wanted to figure out/learn away to do it this way instead to see if it was possible. Edited October 19, 2013 by Lantz Link to comment Share on other sites More sharing options...
dmob Posted October 21, 2013 Share Posted October 21, 2013 Found this in the help file: ; Post a WM_COMMAND message to a ctrl in a gui window Func PostButClick($hWnd, $nCtrlID) DllCall("user32.dll", "int", "PostMessage", _ "hwnd", $hWnd, _ "int", 0x0111, _ ; $WM_COMMAND "int", BitAND($nCtrlID, 0x0000FFFF), _ "hwnd", GUICtrlGetHandle($nCtrlID)) EndFunc ;==>PostButClick yutijang 1 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