_qres::Enumerate_Sysgui_Controls - Get All Controls for a Given Context

Syntax

call "_qres::Enumerate_Sysgui_Controls",gb__sysgui,context_id,
control_list$,status,errmsg$

Description

This routine returns a list of all controls on the specified context.

Parameter

Description

gb__sysgui

The channel that the SYSGUI device is opened on.

context_id

The context of a top level window on which the target controls reside.

control_list$

Returns a string that contains a list of all the controls on the specific top level context. Each control will have an entry that contains the type of control (as specified in CTRL(4)) Window ID with full genealogy of its parent (excluding the top level Form ID that is not available at runtime), control name, Control ID, and x, y, w, h. Each control segment can be interpreted using a template that looks like this:

Temp$="Type:n(2*=0),Window_id:C(16*=0),Name:C(30*=0),Ctl_id:n(3*=0), x:n(3*=0),y:n(3*=0),w:n(3*=0),h:n(3*=10)"

All fields are terminated with nulls and the height field (h) is terminated with a $0A$.

status

Returns 1 for successful operation and 0 for unsuccessful operation.

errmsg$

In the case of unsuccessful operation, this returns a description of the problem encountered.

This routine does not check to see if there is enough memory to get the window information (WININFO). An error 31 may result in cases where the window being evaluated is very complex and contains many controls.