Sign in to follow this  
Followers 0
Edmonds

Controls containing other controls

6 posts in this topic

In general, is there a good way in AutoIT to manipulate controls that are contained within other controls? Right now we are working on automating a program that uses numerous simple buttons, combo boxes and text boxes that should be trivial to access from AutoIT, but they all seem to be buried within other controls, usually buttons, apparently to assist in positioning them within in the window. AutoInfo always returns the identity of the buttons rather than the control contained within, and the basic structure of the AutoIT functions assumes that a control is contained directly by a window, whose identifier is always used in addressing the control.

RE

Share this post


Link to post
Share on other sites



Hi, Edmonds. Can you please provide a little more detail? What is the application you're trying to manipulate? How about a screenshot of either the application or what you're seeing in the Info window? The more information we have the better we can assist :)


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

I'm probably not allowed to show you much about these applications, but you've all seen something like a, I believe they are called a "bordered panel" in GUI lingo? Basically a bordered off area with a text name intersecting the border at the top left? This application has one of those which in turn contains a set of about five buttons. When you try to click the individual buttons in AutoInfo, you instead appear to be selecting the entire bordered panel, and the name of that instance of bordered panel is listed as "Button10" (you see this name whether you click one of the individual buttons within, or any other spot witin the panel border). AutoInfo does not appear to detect the individual buttons within the panel at all.

RE

Edited by Edmonds

Share this post


Link to post
Share on other sites

Probably one of those non standard controls that AutoIt3 cannot manipulate.

Probably so, which may explain how it is misidentified as a "button". It's a shame, because the embeded buttons that I'm trying to reach do appear to be standard controls.

RE

Share this post


Link to post
Share on other sites

Actually, I think you are talking about a group box, which is a standard control, but due to whatever crazy drugs were going around microsoft at the time, are actually buttons.

See here.

As a solution, Spy++ is a more advanced tool that can show you the window hierarchy (so all children etc.) You get a selector target thingy like our window info tool, which will take you to the groupboxes position in the tree, and from there you can see its children. I have absolutely no idea how you'd get hold of Spy++ on its own as it usually ships with visual studio so I've never tried installing it standalone.

1 person likes this

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  
Followers 0