ctrlSetEventHandler: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Some wiki formatting)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1
|version1= 1.00


|1.00
|game2= arma2
|version2= 1.00
 
|game3= arma2oa
|version3= 1.50
 
|game4= tkoh
|version4= 1.00
 
|game5= arma3
|version5= 0.50


|gr1= GUI Control - Event Handlers
|gr1= GUI Control - Event Handlers
|gr2= Event Handlers
|gr2= Event Handlers


| Sets given event handler of given control.
|descr= Sets given event handler of given control.


The provided function should return true/false indicating that the event has handled this event fully or not and whether the engine should execute it is default code or not afterwards.  
The provided function should return true/false indicating that the event has handled this event fully or not and whether the engine should execute it is default code or not afterwards.  
Line 17: Line 28:
{{Feature|important|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'''').}}
{{Feature|important|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'''').}}


| controlName '''ctrlSetEventHandler''' [handlerName, function]
|s1= controlName [[ctrlSetEventHandler]] [handlerName, function]


|p1= controlName: [[Control]]
|p1= controlName: [[Control]]


|p2= [handlerName, function]: [[Array]]
|p2= handlerName: [[String]]
|p3= handlerName: [[String]]
 
|p4= function: [[String]]
|p3= function: [[String]]
| [[Nothing]]
 
|r1= [[Nothing]]
   
   
|x1= <code>_control [[ctrlSetEventHandler]] ["KeyDown", ""]</code>
|x1= <code>_control [[ctrlSetEventHandler]] ["KeyDown", ""];</code>


|x2= <code>(_display [[displayCtrl]] 108) [[ctrlSetEventHandler]] ["LBSelChanged","['ListChange',_this] [[call]] FireEvents"];</code>
|x2= <code>(_display [[displayCtrl]] 108) [[ctrlSetEventHandler]] ["LBSelChanged","['ListChange',_this] [[call]] FireEvents"];</code>


|seealso= [[displaySetEventHandler]], [[ctrlAddEventHandler]], [[ctrlRemoveEventHandler]], [[User_Interface_Event_Handlers|UI Event Handlers]], [[DIK_KeyCodes|DIK KeyCodes]]
|seealso= [[displaySetEventHandler]], [[ctrlAddEventHandler]], [[ctrlRemoveEventHandler]], [[User_Interface_Event_Handlers|UI Event Handlers]], [[DIK KeyCodes]]
}}
}}
{{GameCategory|arma1|Scripting Commands}}
{{GameCategory|arma2|Scripting Commands}}
{{GameCategory|arma3|Scripting Commands}}
{{GameCategory|tkoh|Scripting Commands}}


<dl class="command_description">
<dl class="command_description">
Line 44: Line 49:
<dd class="notedate">Posted on April 28, 2021 - 19:59 (UTC)</dd>
<dd class="notedate">Posted on April 28, 2021 - 19:59 (UTC)</dd>
<dt class="note">[[User:pierremgi|pierremgi]]</dt>
<dt class="note">[[User:pierremgi|pierremgi]]</dt>
<dd class="note">{{#if:
<dd class="note">
This command doesn't work on map.<br>
This command doesn't work on map.<br>
waitUntil {!isNull (findDisplay 12 displayCtrl 51)};<br>
<code>[[waitUntil]] { ![[isNull]] ([[findDisplay]] 12 [[displayCtrl]] 51) };
(findDisplay 12 displayCtrl 51) ctrlSetEventHandler ["MouseButtonDblClick", "hint str _this; true"];  // doesn't skip the marker dialog as it should.
([[findDisplay]] 12 [[displayCtrl]] 51) [[ctrlSetEventHandler]] ["MouseButtonDblClick", "hint str _this; true"]; {{cc|doesn't skip the marker dialog as it should.}}</code>
|
This command doesn't work on map.<br>
waitUntil {!isNull (findDisplay 12 displayCtrl 51)};<br>
(findDisplay 12 displayCtrl 51) ctrlSetEventHandler ["MouseButtonDblClick", "hint str _this; true"]; // doesn't skip the marker dialog as it should.
|-no text provided-}}</dd>
</dl>
 
 
<dl class="command_description">
<dt></dt>
<dd class="notedate">Posted on May 1, 2021 - 14:37 (UTC)</dd>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dd class="note">{{#if:
test
|
test
|-no text provided-}}</dd>
</dl>
 
 
<dl class="command_description">
<dt></dt>
<dd class="notedate">Posted on May 1, 2021 - 19:14 (UTC)</dd>
<dt class="note">[[User:Lou Montana|Lou Montana]]</dt>
<dd class="note">
test
</dd>
</dd>
</dl>
</dl>

Revision as of 20:19, 1 May 2021

Hover & click on the images for description

Description

Description:
Sets given event handler of given control. The provided function should return true/false indicating that the event has handled this event fully or not and whether the engine should execute it is default code or not afterwards. See User Interface Event Handlers for the full list of handler 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.
When using the event names listed 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').
Groups:
GUI Control - Event HandlersEvent Handlers

Syntax

Syntax:
controlName ctrlSetEventHandler [handlerName, function]
Parameters:
controlName: Control
handlerName: String
function: String
Return Value:
Nothing

Examples

Example 1:
_control ctrlSetEventHandler ["KeyDown", ""];
Example 2:
(_display displayCtrl 108) ctrlSetEventHandler ["LBSelChanged","['ListChange',_this] call FireEvents"];

Additional Information

See also:
displaySetEventHandlerctrlAddEventHandlerctrlRemoveEventHandlerUI Event HandlersDIK KeyCodes

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 April 28, 2021 - 19:59 (UTC)
pierremgi
This command doesn't work on map.
waitUntil { !isNull (findDisplay 12 displayCtrl 51) }; (findDisplay 12 displayCtrl 51) ctrlSetEventHandler ["MouseButtonDblClick", "hint str _this; true"]; // doesn't skip the marker dialog as it should.