displayAddEventHandler

From Bohemia Interactive Community
Jump to: navigation, search
Introduced with Arma 2 version 1.00
  

Click on the images for descriptions

Introduced in

Game:
Arma 2
Version:
1.00

Description

Description:
Adds an event handler to the given display. Returns the ID of the event handler, or -1 when failed.
Returning true in EH code will override default engine handling for keyboard events.
See User Interface Event Handlers for the full list of event names.
If applicable, see DIK_KeyCodes for a list of key code constants, which are relevant to key related user interface events like: KeyDown & KeyUp.

NOTE: Display EHs 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.

Syntax

Syntax:
display displayAddEventHandler [eventName, code]
Parameters:
display: Display
[eventName, code]: Array
eventName: String
code: String or Code
Return Value:
Number

Examples

Example 1:
moduleName_keyDownEHId = (findDisplay 46) displayAddEventHandler ["KeyDown", "hint str _this;"];
Example 2:
moduleName_keyDownEHId = findDisplay 46 displayAddEventHandler ["KeyDown", {hint str _this}];

Additional Information

Multiplayer:
-
See also:
ListOfKeyCodesdisableSerializationdisplayRemoveAllEventHandlersdisplayRemoveEventHandlerdisplaySetEventHandlerctrlAddEventHandlerUI Event HandlersfindDisplayDIK KeyCodeskeyName

Notes

Only post proven facts here. Report bugs on the feedback tracker. Use the talk page or the forums for discussions.
Add New Note | How To

Notes

Posted on October 30, 2013 - 11:14
Killzone_Kid
As of Arma 3 v1.05.111658 ctrlAddEventHandler and displayAddEventHandler support script Code in addition to String [1]
Posted on March 10, 2014 - 14:52
Axyl
From within an Addon, you must assign the events from a spawned script. eg[] spawn { (findDisplay 46) displayAddEventHandler["KeyDown","_this call my_KeyDownFunctionhandler"]; };

Bottom Section


Posted on January 22, 2016 - 08:15 (UTC)
Pigneedle
Be sure to wait until the main display is initialized before using this command by using: waituntil {!isnull (finddisplay 46)};
Posted on May 28, 2017 - 11:32 (UTC)
IT07
use #define if you want the displayEventHandler to use data that is defined in the same file in which the command is executed. However, that does not work if you use STRING as 'code'. In case of STRING, use the format command around it.
Posted on August 7, 2017 - 15:08 (UTC)
DrSova
Using KeyUp you can't override default engine action by returning true (A3 1.72.142342)