createDisplay: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " <!-- (DIS)?CONTINUE Notes -->" to "")
m (formatting)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma1
|game1= arma1


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


|gr1= GUI Control
|gr1= GUI Control


| Creates child display of given display and loads from "resourceName". The notable difference between [[createDisplay]] and [[createDialog]] is that with [[createDisplay]] the player would be able to move around while the display is shown.<br>
|descr= Creates child display of given display and loads from "resourceName". The notable difference between [[createDisplay]] and [[createDialog]] is that with [[createDisplay]] the player would be able to move around while the display is shown.<br>
Displays created with [[createDisplay]] or [[createDialog]] will take control of the mouse pointer and will close when user presses <tt>Escape</tt>.
Displays created with [[createDisplay]] or [[createDialog]] will take control of the mouse pointer and will close when user presses <tt>Escape</tt>.
{{Feature|arma3 | Since {{arma3}} v1.50 [[createDisplay]] returns [[Display]] and will first look in ''description.ext'' for resourceName config, if not found, it will then look in main config.}}
{{Feature|arma3|Since {{arma3}} v1.50 [[createDisplay]] returns [[Display]] and will first look in ''description.ext'' for resourceName config, if not found, it will then look in main config.}}
{{Feature | Informative | If an ''overlay'' is needed instead, use [[cutRsc]].}}
{{Feature|Informative|If an ''overlay'' is needed instead, use [[cutRsc]].}}


| parent '''createDisplay''' resourceName
|descr= parent '''createDisplay''' resourceName


|p1= parent: [[Display]]
|p1= parent: [[Display]]
Line 18: Line 34:
|p2= resourceName: [[String]] - custom display class defined in [[description.ext]] or existing display class from main config
|p2= resourceName: [[String]] - custom display class defined in [[description.ext]] or existing display class from main config


| [[Display]] (since {{arma3}} v1.50, [[Nothing]] before)
|r1= [[Display]] (since {{arma3}} v1.50, [[Nothing]] before)
   
   
|x1= <code>[[findDisplay]] 46 [[createDisplay]] "RscCredits";</code>
|x1= <code>[[findDisplay]] 46 [[createDisplay]] "RscCredits";</code>
Line 27: Line 43:
|seealso= [[closeDisplay]], [[createDialog]], [[displayCtrl]], [[dialog]], [[displayNull]], [[controlNull]], [[ctrlCreate]], [[displayParent]]
|seealso= [[closeDisplay]], [[createDialog]], [[displayCtrl]], [[dialog]], [[displayNull]], [[controlNull]], [[ctrlCreate]], [[displayParent]]
}}
}}
{{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 49: Line 58:
{{arma3}} v1.34<br>
{{arma3}} v1.34<br>
When using createDisplay instead of [[createDialog]], all the commands for working with the controls of the display only work with the control version, not the IDC version:
When using createDisplay instead of [[createDialog]], all the commands for working with the controls of the display only work with the control version, not the IDC version:
<code>LbAdd [1234, "item"]; {{cc|does not work on displays, and won't error either}}
<code>[[lbAdd]] [1234, "item"]; {{cc|does not work on displays, and won't error either}}
_ctrl LbAdd "item"; {{cc|does work with displays}}</code>
_ctrl [[lbAdd]] "item"; {{cc|does work with displays}}</code>
So you have to use the control(DisplayCtrl) and not the IDC.
So you have to use the control(DisplayCtrl) and not the IDC.



Revision as of 09:25, 16 April 2021

Hover & click on the images for description

Description

Description:
parent createDisplay resourceName
Groups:
GUI Control

Syntax

Syntax:
Syntax needed
Parameters:
parent: Display
resourceName: String - custom display class defined in description.ext or existing display class from main config
Return Value:
Display (since Arma 3 v1.50, Nothing before)

Examples

Example 1:
findDisplay 46 createDisplay "RscCredits";
Example 2:
// creates an empty display private _emptyDisplay = findDisplay 46 createDisplay "RscDisplayEmpty";

Additional Information

See also:
closeDisplaycreateDialogdisplayCtrldialogdisplayNullcontrolNullctrlCreatedisplayParent

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 August 23, 2014 - 23:36 (UTC)
Killzone Kid
Do not simply createDisplay from UI context code such as "ButtonDown" UI Event handler, as it will crash the game. Instead use spawn scope: [] spawn {findDisplay 46 createDisplay "RscCredits"};
Posted on November 15, 2014 - 13:20 (UTC)
MrPineapple
Arma 3 v1.34
When using createDisplay instead of createDialog, all the commands for working with the controls of the display only work with the control version, not the IDC version: lbAdd [1234, "item"]; // does not work on displays, and won't error either _ctrl lbAdd "item"; // does work with displays So you have to use the control(DisplayCtrl) and not the IDC.
Posted on July 29, 2017 - 09:02 (UTC)
Killzone Kid
A user dialog created with createDisplay over mission display (findDisplay 46) will stop display event handlers added to mission display from firing. However if it is created with createDialog then the event handlers continue to work.
Posted on June 21, 2020 - 17:01 (UTC)
Target_practice
Creating a display with the same parent as an existing display will destroy the latter and all of its children. However, their onUnload, onChildDestroyed, and onDestroy event handlers will not fire.