ctrlAddEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (added example)
 
(2 intermediate revisions by one other user not shown)
Line 21: Line 21:
{{Feature|important|
{{Feature|important|
* Control event handlers are processed in reversed order, i.e. last added: first, first added: last. So if you have an override it should be set up in the 1st added EH.
* Control event handlers are processed in reversed order, i.e. last added: first, first added: last. So if you have an override it should be set up in the 1st added EH.
* When using the event names listed [[User Interface Event Handlers|here]] with the [[ctrlAddEventHandler]], [[ctrlSetEventHandler]], [[displayAddEventHandler]] or [[displaySetEventHandler]] commands, the prefix "on" in the event name must be removed (e.g. ''''ButtonDown'''' instead of ''''onButtonDown'''').
* When using the event names listed [[User Interface Event Handlers|here]] with the [[ctrlAddEventHandler]], [[ctrlSetEventHandler]], [[displayAddEventHandler]] or [[displaySetEventHandler]] commands, the prefix "on" in the event name must be removed (e.g. ''''ButtonDown'''' instead of ''''onButtonDown'''').
}}
}}
Line 29: Line 28:
|p1= control: [[Control]]
|p1= control: [[Control]]


|p2= handler: [[String]] - Handler name, see [[User Interface Event Handlers]]
|p2= handler: [[String]] - handler name, see [[User Interface Event Handlers]]
 
|p3= function: [[String]], since {{GVI|arma3|1.06}} also [[Code]] - script. Several [[Magic Variables]] are available:
* Event Handler parameters are accessible via {{hl|_this}}
* The Event Handler type is available as {{hl|_thisEvent}}
* The Event Handler index is available as {{hl|_thisEventHandler}}


|p3= function: [[String]], since {{GVI|arma3|1.06}} also [[Code]] - Script
|r1= [[Number]] - handler ID or -1 if failed


|r1= [[Number]] - Handler ID or -1 if failed
|x1= <sqf>_map ctrlAddEventHandler ["draw", "_this call BIS_fnc_strategicMapOpen_draw"];</sqf>


|x1= <code>_map [[ctrlAddEventHandler]] ["draw", "_this [[call]] BIS_fnc_strategicMapOpen_draw"];</code>
|x2= <sqf>_map ctrlAddEventHandler ["draw", { hintSilent str _this }];</sqf>


|x2= <code>_map [[ctrlAddEventHandler]] ["draw", {[[hintSilent]] [[str]] [[_this]]}];</code>
|x3= <sqf>findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["draw", { hintSilent str _this }]; //Arma 3 map control</sqf>


|seealso= [[displayAddEventHandler]] [[ctrlRemoveEventHandler]] [[ctrlRemoveAllEventHandlers]]
|seealso= [[displayAddEventHandler]] [[ctrlRemoveEventHandler]] [[ctrlRemoveAllEventHandlers]]
}}
}}

Latest revision as of 00:04, 26 March 2024

Hover & click on the images for description

Description

Description:
Add an event handler to the given control.
Groups:
GUI Control - Event HandlersEvent Handlers

Syntax

Syntax:
control ctrlAddEventHandler [handler, function]
Parameters:
control: Control
handler: String - handler name, see User Interface Event Handlers
function: String, since Arma 3 logo black.png1.06 also Code - script. Several Magic Variables are available:
  • Event Handler parameters are accessible via _this
  • The Event Handler type is available as _thisEvent
  • The Event Handler index is available as _thisEventHandler
Return Value:
Number - handler ID or -1 if failed

Examples

Example 1:
_map ctrlAddEventHandler ["draw", "_this call BIS_fnc_strategicMapOpen_draw"];
Example 2:
_map ctrlAddEventHandler ["draw", { hintSilent str _this }];
Example 3:
findDisplay 12 displayCtrl 51 ctrlAddEventHandler ["draw", { hintSilent str _this }]; //Arma 3 map control

Additional Information

See also:
displayAddEventHandler ctrlRemoveEventHandler ctrlRemoveAllEventHandlers

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note