• Belonging of controls
  • Using retrieved controls
  • Tab controls with dynamic panes
  • WLanguage error
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Returns the name of Nth control found in the specified element. This element must be displayed.
Remark: In most cases, we recommend that you use gpwEnumControl that lists all controls directly.
WINDEV The specified element can be a window, a report, a group of controls, a Tab control, a Looper control or a supercontrol. The Toolbar controls and the SideBar controls are not supported.
In a loop, this function is used to enumerate the controls found in an element.
WINDEVUniversal Windows 10 AppJavaUser code (UMC)
// Name of control 7 in the "WIN_EditWindow" window
ResControl = EnumControl(WIN_EditWindow, 7)
WINDEVJavaUser code (UMC)
// Fill a Combo Box control with the list of controls in the window
i is int = 1
ResControl is string
ResControl = EnumControl(WIN_EditWindow, i)
WHILE ResControl <> ""
ListAdd(COMBO_ControlList, ResControl)
ResControl = EnumControl(WIN_EditWindow, i)
<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 "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 control, the following syntax must be used: <Name of Tab control>[<Number of tab pane>]. For example: TAB_Tab1[2].
<Control number>: Integer
Number of the control whose name is requested. 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:
(Default value)
Enumeration performed according to the creation order of controls (in the editor or by ControlClone).
byTabOrderEnumeration 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.
byZOrderEnumeration performed according to the Z-order position of controls, from the lowest one to the highest one.


Belonging of controls

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).

Using retrieved controls

When the name of a control retrieved by EnumControl is contained in a variable, the control itself can be used thanks to indirection operators (braces { and }). Example:
// Name of control 7 in the page
ControlName is string = EnumControl(MyPage, 7)
// Control caption

Tab controls with dynamic panes

If <"Parent" object> corresponds to the name of a Tab control with dynamic panes, the aliases of the dynamic panes are enumerated.

WLanguage error

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.
Component: wd270vm.dll
Minimum version required
  • Version 9
This page is also available for…
gpwEnumControl (Function)

Mesmo não tendo o uso do gwplogin ou a instalação do groupware esse comando é independente e funciona melhor.
14 May 2019