Jump to content

Best way to simulate a button click within your own GUI


Lantz
 Share

Go to solution Solved by Lantz,

Recommended Posts

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

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

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

 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 by Lantz
Link to comment
Share on other sites

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
Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...