_qres::Enumerate_Sysgui_Child_Windows - Get All Child Windows for a Given Context

Syntax

call "_qres::Enumerate_Sysgui_Child_Windows",sysgui,context_id,window_list$,
status,errmsg

Description

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

Parameter

Description

sysgui

The channel that the SYSGUI device is opened on.

context_id

The context of a top-level window on which to look for child windows.

window_list

Returns a string that contains a list of the existing child windows. Each window will have an entry that contains the window name and its window ID with full genealogy (with the exception of the form ID, which is not available at runtime), its context, the HTA() of the window's event mask, and the HTA() of the window's flags, in the following format:

"WINDOWNAME1" + $00$ + "301" + $00$ + "1" $00$ + "FFFFFFFF" + $00$ + "00000810" + $0A$ + "WINDOWNAME2" + $00$ + "301.302" + $00$ + "4" + $00$ + "FFFFFFFF" + $00$ + "00000810"+ $0A$

All fields are terminated with a null and the record is terminated with a $0A$.

In the above example, WINDOWDOWNAME1 is a child window that has a control ID of 301. It is a child of the top level window and its context is 1. WINDOWNAME2 is a child window that has a control ID of 302. It is a child of 301 that is a child of the top level window. Its context is 4. Windows with without names will be formatted as follows:

$00$ +"301" + $00$ + "1" + $0A$ + $00$ + "301.302" + $00$ + "4" + $0A$

Above, the child window with ID 301 is on context 1 and has no name. Its parent is the top level window. The next child window has an ID of 302, is a child of 301 and is on context 4.

errmsg$

Returns a description of the problems encountered.

This routine does not check for enough memory to get the window information (WININFO). An !ERROR=31 may result in cases where the window being evaluated is complex and contains many controls.

See Also

Alphabetical Utilities

Functional Listing of Utilities