displayAddEventHandler: Difference between revisions
Jump to navigation
Jump to search
(see also DIK KeyCodes) |
Lou Montana (talk | contribs) m (Text replacement - "[] spawn" to "0 spawn") |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 30: | Line 30: | ||
|p3= code: [[String]] or {{GVI|arma3|1.06|size= 0.75}} [[Code]] - the code which gets executed when event is triggered. Returning [[true]] in event handler code will override default engine handling for keyboard events. | |p3= code: [[String]] or {{GVI|arma3|1.06|size= 0.75}} [[Code]] - the code which gets executed when event is triggered. Returning [[true]] in event handler code will override default engine handling for keyboard events. | ||
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}} | |||
|r1= [[Number]] - index of the newly added event handler or {{hl|-1}} if creation failed | |r1= [[Number]] - index of the newly added event handler or {{hl|-1}} if creation failed | ||
Line 37: | Line 41: | ||
|x2= <sqf>moduleName_keyDownEHId = findDisplay 46 displayAddEventHandler ["KeyDown", { hint str _this }];</sqf> | |x2= <sqf>moduleName_keyDownEHId = findDisplay 46 displayAddEventHandler ["KeyDown", { hint str _this }];</sqf> | ||
|seealso= | |seealso= [[disableSerialization]] [[displayRemoveAllEventHandlers]] [[displayRemoveEventHandler]] [[displaySetEventHandler]] [[ctrlAddEventHandler]] [[User_Interface_Event_Handlers|UI Event Handlers]] [[findDisplay]] [[DIK_KeyCodes|DIK Key Codes]] [[keyName]] | ||
}} | }} | ||
Line 43: | Line 47: | ||
|user= Axyl | |user= Axyl | ||
|timestamp= 20140310145200 | |timestamp= 20140310145200 | ||
|text= From within an Addon, you must assign the events from a spawned script. e.g. <sqf> | |text= From within an Addon, you must assign the events from a spawned script. e.g. <sqf>0 spawn { findDisplay 46 displayAddEventHandler ["KeyDown", "_this call my_KeyDownFunctionhandler"]; };</sqf> | ||
}} | }} | ||
Line 54: | Line 58: | ||
{{Note | {{Note | ||
|user= | |user= Nelis75733126 | ||
|timestamp= 20170528113200 | |timestamp= 20170528113200 | ||
|text= use #define if you want | |text= use ({{Link|PreProcessor_Commands##define|#define}}) if you want <sqf inline>displayAddEventHandler</sqf> to use data defined in the same script. You can then integrate that data either directly, or by applying {{Link|format|format}} to the second parameter. | ||
}} | }} | ||
Latest revision as of 21:24, 2 September 2024
Description
- Description:
- Adds an event handler to the given display. 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.
- Groups:
- GUI Control - Event HandlersEvent Handlers
Syntax
- Syntax:
- display displayAddEventHandler [eventName, code]
- Parameters:
- display: Display
- eventName: String - event name
- code: String or 1.06 Code - the code which gets executed when event is triggered. Returning true in event handler code will override default engine handling for keyboard events.
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 - index of the newly added event handler or -1 if creation failed
Examples
- Example 1:
- Example 2:
Additional Information
- See also:
- disableSerialization displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler ctrlAddEventHandler UI Event Handlers findDisplay DIK Key Codes keyName
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
- Posted on Mar 10, 2014 - 14:52 (UTC)
-
From within an Addon, you must assign the events from a spawned script. e.g. 0 spawn { findDisplay 46 displayAddEventHandler ["KeyDown", "_this call my_KeyDownFunctionhandler"]; };
- Posted on Jan 22, 2016 - 08:15 (UTC)
-
Be sure to wait until the main display is initialized before using this command by using:
- Posted on May 28, 2017 - 11:32 (UTC)
- use ( #define) if you want displayAddEventHandler to use data defined in the same script. You can then integrate that data either directly, or by applying format to the second parameter.
- Posted on Aug 07, 2017 - 15:08 (UTC)
-
Using KeyUp you can't override default engine action by returning true
- Posted on Jun 26, 2021 - 16:17 (UTC)
- To prevent a display from getting closed by pressing ESC, add the following event handler.