GetControlById Method (UiMode)
Returns the first control that has the specified ID. Searches the current child items as well as all descendents.
expression.GetControlById( _
ByVal As String _
) As UiControl object
where
expression is a variable that represents a
UiMode Object
Parameters
- id
- ID of the item to retrieve
Return Value
Returns the
UiControl control if it exists as a descendent of the current control. If not, returns null.
This example maps a macro to a button control that was added in the UI designer.
To run this example, use the UI Designer to create a button control and note the button ID. Then edit the code below to use that ID.
Sub MapActionToControl()
Dim sequence As InputMapActionSequence
Dim action As InputMapAction
Dim control As UiControl
Dim ui As UiMode
'Set an InputMapActionSequence to map the button to.
Set sequence = New InputMapActionSequence
'Set an action to add to the sequence.
Set action = New InputMapAction
'Set the action to run a macro named GetReport.
action.ActionId = InputMapActionID_RunMacroAction
action.AddParameter "Module1.GetReport" 'Set the name of the macro.
action.AddParameterAsInteger MacroEnumerationOption_Document 'Look for the macro in this Session project.
action.AddParameterAsBoolean False 'Don't ask for any input at runtime.
'Add the action to the action sequence
sequence.Add action
'Get the control from the control ID. You'll need to get this value from the UI Designer. In this example, the control ID is "button7"
'Edit this line to use the ID of your button.
Set control = ThisView.UiMode.GetControlById("button7")
'Add the action sequence to the control
ThisIbmTerminal.UiControlActionMapper.Add control, sequence
End Sub