|
|
|
|
|
- Belonging of controls
- Using retrieved controls
- Tab controls with dynamic tabs
- List sub-elements
- WLanguage error
EnumControl (Function) In french: EnumèreChamp Returns the name of Nth control found in the specified element. This element must be displayed. In a loop, this function is used to enumerate the controls found in an element.
Syntax
<Result> = EnumControl(<"Parent" object> , <Control number> [, <Type of enumeration>])
<Result>: Character string - Name of control found,
- Empty string ("") if no control was found.
<"Parent" object>: Character string Name of the "parent" object (containing the control). This parameter corresponds to the name of a window, a Looper control, a break in a Looper control, a group, a Tab control, a supercontrol o a report.If the "parent" object is a Tab field, the following notation should be used: <Tab field name>[<Tab pane number>]. For example: ONG_Onglet1[2]. <Control number>: entier Number of the control whose name you want to get. Each control is associated with a number. This number corresponds to:- the creation order of the controls (by default) if the type of enumeration is performed by the byCreationOrder constant
- the tab order (which means the order in which the controls gain focus in the "parent" object) if the type of enumeration is performed with the byTabOrder constant.
The F5 key is used to see the navigation order in the window editor and in the page editor
<Type of enumeration>: Optional Integer constant Order in which the enumeration is performed:
| | byCreationOrder (Default value) | Enumeration performed according to the creation order of controls (in the editor or by ControlClone). | byTabOrder | Enumeration performed according to the navigation order with the tab key (Tab). The controls that are not accessible with the tab key (Tab) are listed at the end. | byZOrder | Enumeration performed according to the Z-index of controls, from the lowest one to the highest one. |
Remarks Only the controls that directly belong to the specified "parent" object are enumerated. For example, if <"Parent" object> corresponds to the name of a window or page, EnumControl only affects the controls that directly belong to this window or page. EnumControl cannot be used to retrieve the names of the controls belonging to the Tab controls or the supercontrols of this window (or page).
NomChamp is string = EnumControl(MyPage, 7)
ToastDisplay({NomChamp}..Caption)
The EnumControlfunction, used in a loop, lists the fields in a window.. However, this function does not go down the tree structure of fields: for example, it does not list the fields contained in the panes of a Tab Control in a window.
To go down the field tree structure, you can use the EnumSubElement function: j is int = 1
ResChamp is string
ResChamp = EnumControl(MyWindow.Nom, j)
WHILE ResChamp <> ""
j++
Trace(ResChamp)
ListeElément(MyWindow.Nom + "." + ResChamp)
ResChamp = EnumControl(MyWindow.Nom, j)
END
INTERNAL PROCEDURE ListeElément (NomElt)
i is int = 1
sReschampSousElt is string
sReschampSousElt = EnumSubElement(NomElt, i)
WHILE sReschampSousElt <> ""
i++
Trace(NomElt+"."+sReschampSousElt)
ListeElément(NomElt +"."+ sReschampSousElt)
sReschampSousElt = EnumSubElement(NomElt, i)
END
END
A WLanguage error occurs if: - <Control number> is negative.
- <Control number> is greater than the number of controls found in <"Parent" object> +1. This is used to avoid the endless loops.
- <"Parent" object> is not a window, a page, a report, a group, a Tab control or a supercontrol.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|